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);
     }
 }
Exemple #5
0
 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);
         }
     }
 }
Exemple #7
0
        /// <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;
            }
        }
Exemple #8
0
        /// <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);
        }
Exemple #10
0
    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);
    }
Exemple #11
0
 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);
 }
Exemple #14
0
 /// <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;
 }
 public override void Update(CBHolder callbacks)
 {
     callbacks.corpCB(Corporation);
 }
Exemple #16
0
 public override void Update(CBHolder callbacks)
 {
 }
Exemple #17
0
 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);
 }
Exemple #20
0
 public abstract void Update(CBHolder callbacks);