public Decapodian(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content) { _subscriberPersonalization = subscriberPersonalization; SubscribedContents = new List <ISubscribableContent> { content }; }
public T Create <T>(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content = null) where T : class, ISubscriber { var concreteType = typeof(T); var instance = (T)Activator.CreateInstance(concreteType, subscriberPersonalization, content); content?.AddSubscriber(instance); return(instance); }
public Robot(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content) { _subscriberPersonalization = subscriberPersonalization; SubscribedContents = new List <ISubscribableContent>(); if (content != null) { SubscribedContents.Add(content); } }
public void ReceiveContent(ISubscribableContent content) { _subscriberPersonalization.OnContentReceived(content); }
public void Unsubscribe(ISubscribableContent content) { _subscriberPersonalization.OnUnsubscribe(); SubscribedContents.Remove(content); }
public void Subscribe(ISubscribableContent content) { _subscriberPersonalization.OnSubscribe(); SubscribedContents.Add(content); }
public void OnContentReceived(ISubscribableContent content) { Console.WriteLine($"Content Received by {Name()}: {content.GetContent()}"); }
public void Unsubscribe(ISubscribableContent content) { _subscriberPersonalization.OnUnsubscribe(); content.RemoveSubscriber(this); }