예제 #1
0
 public void Dispose()
 {
     observer?.OnCompleted();
     observable?.Unsubscribe(observer, channel);
     observable = null;
     observer   = null;
 }
 /// <summary>
 /// Construtor que inicializa o serviço de livros e classe de notificações
 /// </summary>
 /// <param name="handler"></param>
 /// <param name="observer"></param>
 /// <param name="bookService"></param>
 public BooksController(INotificationHandler handler,
                        INotificationObserver observer,
                        IBookService bookService) : base(handler, observer)
 {
     this.handler     = handler;
     this.bookService = bookService;
 }
        public Unsubscriber(SynchronizedCollection<INotificationObserver<string>> observers, INotificationObserver<string> observer)
        {
            Guard.NotNull(observers, nameof(observers));
            Guard.NotNull(observer, nameof(observer));

            this.observers = observers;
            this.observer = observer;
        }
예제 #4
0
 public void RemoveSubscriber(INotificationObserver observer)
 {
     objects.Remove(observer);
     foreach (var item in objects)
     {
         Console.WriteLine(item.Name);
     }
 }
예제 #5
0
        public Unsubscriber(SynchronizedCollection <INotificationObserver <string> > observers, INotificationObserver <string> observer)
        {
            Guard.NotNull(observers, nameof(observers));
            Guard.NotNull(observer, nameof(observer));

            this.observers = observers;
            this.observer  = observer;
        }
예제 #6
0
 public void RemoveSubscriber(INotificationObserver observer)
 {
     obs.Remove(observer);
     Console.WriteLine("\n\n An Existing Member " + observer.Name + " has removed from \n\n *** List of Subscribers ***");
     foreach (var ob in obs)
     {
         Console.WriteLine(ob.Name);
     }
 }
예제 #7
0
 public void AddSubscriber(INotificationObserver notificationObserver)
 {
     notificationObserverList.Add(notificationObserver);
     Console.WriteLine("List of Subscribers");
     foreach (var list in notificationObserverList)
     {
         Console.WriteLine(list.Name);
     }
 }
예제 #8
0
 public void RemoveSubscriber(INotificationObserver notificationObserver)
 {
     notificationObserverList.Remove(notificationObserver);
     Console.WriteLine("\nList of Events Subscribed");
     foreach (var list in notificationObserverList)
     {
         Console.WriteLine(list.EventName);
     }
 }
예제 #9
0
 public void AddSubscriber(INotificationObserver observer)
 {
     _observers.Add(observer);
     Console.WriteLine("observers: ");
     foreach (var ob in _observers)
     {
         Console.WriteLine(ob.Name);
     }
 }
예제 #10
0
 public void AddSubscriber(INotificationObserver observer)
 {
     obs.Add(observer);
     Console.WriteLine("A New Member named " + observer.Name + " is added to list \n\n *** List of Subscribers ***");
     foreach (var ob in obs)
     {
         Console.WriteLine(ob.Name);
     }
 }
예제 #11
0
 public void RemoveSubscriber(INotificationObserver notificationObserver)
 {
     notificationObserverList.Remove(notificationObserver);
     Console.WriteLine("List of Subscribers are as follows");
     foreach (var list in notificationObserverList)
     {
         Console.WriteLine(list.Name);
     }
 }
 public void AddEvent(INotificationObserver observer)
 {
     observers.Add(observer);
     Console.WriteLine(observer.EventInformation + " is added\n\nList of Subscribers\n\n");
     foreach (var ob in observers)
     {
         Console.WriteLine(ob.EventInformation);
     }
 }
 public void AddSubscriber(INotificationObserver notificationObserver)
 {
     observer.Add(notificationObserver);
     Console.WriteLine("-----------------User Added----------");
     foreach (var ob in observer)
     {
         Console.WriteLine("\t" + ob.Name);
     }
 }
        /// <summary>
        ///     Unsubscribe from recieving notifications.
        /// </summary>
        /// <param name="observer">The observer to unsubscibe.</param>
        public static void UnSubscribe([NotNull] INotificationObserver observer)
        {
            if (observer == null)
            {
                throw new ArgumentNullException(nameof(observer));
            }

            Observers.Remove(observer);
        }
 public void AddSubscriber(INotificationObserver notificationObserver)
 {
     observers.Add(notificationObserver);
     Console.WriteLine("\n" + notificationObserver.name + " is being added");
     Console.WriteLine("SUBSCRIBER LIST\n***************");
     foreach (var obj in observers)
     {
         Console.WriteLine(obj.name);
     }
 }
 public void AddSubscriber(INotificationObserver observer)
 {
     observer1.Add(observer);
     Console.WriteLine(observer.Name + " is added to subscribers");
     Console.WriteLine("Subscribers");
     foreach (var obs in observer1)
     {
         Console.WriteLine(obs.Name);
     }
 }
예제 #17
0
 public virtual void Unregister(INotificationObserver observer)
 {
     if (observer != null)
     {
         if (Observers.Contains(observer))
         {
             Observers.Remove(observer);
         }
     }
 }
예제 #18
0
 public virtual void Register(INotificationObserver observer)
 {
     if (observer != null)
     {
         if (!Observers.Contains(observer))
         {
             Observers.Add(observer);
         }
     }
 }
예제 #19
0
 public void AddSubscriber(INotificationObserver observer)
 {
     observers.Add(observer);
     Console.WriteLine(observer.Name + " is added to the list.");
     Console.WriteLine("\n List of Subscribers");
     foreach (var o in observers)
     {
         Console.WriteLine(o.Name);
     }
 }
 public void RemoveSubscriber(INotificationObserver notificationObserver)
 {
     observer.Remove(notificationObserver);
     Console.WriteLine("-----------------User Removed----------");
     Console.WriteLine();
     foreach (var ob in observer)
     {
         Console.WriteLine("\t" + ob.Name);
     }
 }
 public void RemoveSubscriber(INotificationObserver notificationObserver)
 {
     observers.Remove(notificationObserver);
     Console.WriteLine("\n" + notificationObserver.name + " is being removed");
     Console.WriteLine("SUBSCRIBER LIST");
     foreach (var obj in observers)
     {
         Console.WriteLine(obj.name);
     }
 }
        public bool Remove(string key, INotificationObserver item)
        {
            ObserverHashSet hashSet = internalDictionary[key];
            bool            returnValue;

            using (hashSet.Wait())
                returnValue = hashSet.Remove(item);

            return(returnValue);
        }
 public void RemoveSubscriber(INotificationObserver observer)
 {
     observers.Remove(observer);
     Console.WriteLine(observer.Name + " is removed\n\n List of Subscribers");
     foreach (var ob in observers)
     {
         Console.WriteLine(ob.Name);
     }
     Console.WriteLine("---------------------------------------");
 }
예제 #24
0
 public void RemoveSubscriber(INotificationObserver observer)
 {
     observers.Remove(observer);
     Console.WriteLine(observer.Name + " is removed from the list.");
     Console.WriteLine("\n List of Subscriber.");
     foreach (var o in observers)
     {
         Console.WriteLine(o.Name);
     }
 }
예제 #25
0
 public void RemoveSubscriber(INotificationObserver observer)
 {
     observer1.Remove(observer);
     Console.WriteLine(observer.Name + " is removed from subscription");
     Console.WriteLine("List of Subscribers");
     foreach (var obs in observer1)
     {
         Console.WriteLine(obs.Name);
     }
 }
        public IDisposable Subscribe(string topicKey, INotificationObserver <string> observer)
        {
            var subscriptions = SubscriptionsByTopic.GetOrAdd(topicKey, new SynchronizedCollection <INotificationObserver <string> >());

            if (!subscriptions.Contains(observer))
            {
                subscriptions.Add(observer);
            }

            return(new Unsubscriber(subscriptions, observer));
        }
예제 #27
0
 public void AddSubscriber(INotificationObserver notificationObserver)
 {
     if (notificationObserver.Tecket >= 100)
     {
         notificationObserverList.Add(notificationObserver);
         Console.WriteLine("\nList of Events Subscribed");
         foreach (var list in notificationObserverList)
         {
             Console.WriteLine(list.EventName);
         }
     }
 }
        public bool Remove(INotificationObserver item)
        {
            var returnValue = false;

            foreach (ObserverHashSet hashSet in internalDictionary.Values)
            {
                using (hashSet.Wait())
                    returnValue = returnValue ? returnValue : hashSet.Remove(item);
            }

            return(returnValue);
        }
        public void RemoveSubscriber(INotificationObserver observer)
        {
            _observers.Remove(observer);

            Console.WriteLine("---------" + observer.Name + " Removed From Subscribers");

            Console.WriteLine("Current subscribers : ");

            foreach (var obs in _observers)
            {
                Console.Write(obs.Name + "   ");
            }
        }
        public void AddSubscriber(INotificationObserver observer)
        {
            _observers.Add(observer);

            Console.WriteLine("------" + observer.Name + " Added To Subscribers");

            Console.WriteLine("Current subscribers : ");

            foreach (var obs in _observers)
            {
                Console.WriteLine(obs.Name + "   ");
            }
        }
 public void Add(string channel, INotificationObserver value)
 {
     addSemaphore.Wait();
     if (internalDictionary.TryGetValue(channel, out ObserverHashSet hashset))
     {
         using (hashset.Wait())
             hashset.Add(value);
     }
     else
     {
         internalDictionary.Add(channel, new ObserverHashSet {
             value
         });
     }
     addSemaphore.Release();
 }