public override void Update(CBHolder callbacks) { callbacks.charCB(Character); callbacks.corpCB(Corporation); callbacks.hangarCB(Hangar); callbacks.shipCB(Ship); }
public override void Update(CBHolder callbacks) { foreach (Station s in Stations) { callbacks.stationCB(s); } }
public override void Update(CBHolder callbacks) { foreach (FlightPlan f in Plans) { callbacks.flighPlanCB(f); } }
public override void Update(CBHolder callbacks) { foreach (Ship s in Ships) { callbacks.shipCB(s); } }
public override void Update(CBHolder callbacks) { callbacks.charCB(Character); if (null != MailBox) { callbacks.mailboxCB(MailBox); } }
public override void Update(CBHolder callbacks) { callbacks.hangarCB(Hangar); if (null != Stacks) { foreach (ResourceStack r in Stacks) { callbacks.resourceStackCB(r); } } }
/// <summary> /// Remove an existing callback. /// </summary> /// <param name="node"></param> /// <param name="cb"></param> public void RemoveNodeHandler(string node, ItemCB cb) { CBHolder holder = null; if (m_callbacks.TryGetValue(node, out holder)) { // tests indicate removing from a list that doesn't contain this callback is safe. holder.OnAdd -= cb; holder.OnRemove -= cb; } }
/// <summary> /// Add a handler for all inbound notifications with the given node name. /// This is handy for PEP implicit subscriptions. /// </summary> /// <param name="node">PEP node URI</param> /// <param name="addCB">Callback when items added</param> /// <param name="removeCB">Callbacks when items removed</param> /// <param name="maxNumber">Maximum number of items to store per node in this namespace</param> public void AddNodeHandler(string node, ItemCB addCB, ItemCB removeCB, int maxNumber) { CBHolder holder = null; if (!m_callbacks.TryGetValue(node, out holder)) { holder = new CBHolder(); holder.Node = node; holder.Max = maxNumber; m_callbacks[node] = holder; } holder.OnAdd += addCB; holder.OnRemove += removeCB; }
private void m_stream_OnProtocol(object sender, XmlElement rp) { Message msg = rp as Message; if (msg == null) { return; } PubSubEvent evt = msg["event", URI.PUBSUB_EVENT] as PubSubEvent; if (evt == null) { return; } EventItems items = evt.GetChildElement <EventItems>(); if (items == null) { return; } string node = items.Node; JID from = msg.From.BareJID; JIDNode jn = new JIDNode(from, node); PubSubNode psn = null; if (!m_nodes.TryGetValue(jn, out psn)) { CBHolder holder = null; if (!m_callbacks.TryGetValue(node, out holder)) { Console.WriteLine(String.Format(CultureInfo.CurrentCulture, "WARNING: notification received for unknown pubsub node: {0}", node)); return; } psn = new PubSubNode(m_stream, from, node, holder.Max); psn.OnItemAdd += holder.FireAdd; psn.OnItemRemove += holder.FireRemove; m_nodes[jn] = psn; } psn.FireItems(items); }
private void OnRequestResult(Request r) { //mise a jour des objets modifies CBHolder holder = new CBHolder(); holder.charCB = CharacterUpdate; holder.corpCB = CorporationUpdate; holder.hangarCB = HangarUpdate; holder.resourceStackCB = ResourceStackUpdate; holder.shipCB = ShipUpdate; holder.stationCB = StationUpdate; holder.mailboxCB = MailboxUpdate; holder.flighPlanCB = FlightPlanUpdate; holder.fleetCB = FleetUpdate; r.Update(holder); // propagation de tout les events levés SendEvents(); OnRequestDone(r); }
public override void Update(CBHolder callbacks) { callbacks.hangarCB(Hangar); callbacks.stationCB(Station); }
public override void Update(CBHolder callbacks) { callbacks.shipCB(Ship); }
public override void Update(CBHolder callbacks) { callbacks.mailboxCB(MailBox); }
public override void Update(CBHolder callbacks) { callbacks.corpCB(Corporation); }
public override void Update(CBHolder callbacks) { }
public override void Update(CBHolder callbacks) { //rien a faire }
public override void Update(CBHolder callbacks) { callbacks.hangarCB(Hangar); callbacks.corpCB(Corp); }
public override void Update(CBHolder callbacks) { callbacks.resourceStackCB(Stack); }
public abstract void Update(CBHolder callbacks);