Exemplo n.º 1
0
        public void Unsubscribed(List <DMSType> topics)
        {
            OperationContext context = OperationContext.Current;
            ISCADAForwarding client  = context.GetCallbackChannel <ISCADAForwarding>();

            if (!subscribers.ContainsKey(client))
            {
                return;
            }

            foreach (DMSType topic in topics)
            {
                if (!subscribers[client].Contains(topic))
                {
                    continue;
                }
                subscribers[client].Remove(topic);
            }

            if (subscribers[client].Count != 0)
            {
                return;
            }

            subscribers.Remove(client);
        }
Exemplo n.º 2
0
        public void Subscribed(List <DMSType> topics)
        {
            OperationContext context = OperationContext.Current;
            ISCADAForwarding client  = context.GetCallbackChannel <ISCADAForwarding>();

            if (!subscribers.ContainsKey(client))
            {
                subscribers.Add(client, topics);
            }

            foreach (DMSType topic in topics)
            {
                if (subscribers[client].Contains(topic))
                {
                    continue;
                }
                subscribers[client].Add(topic);
            }
        }