public void Subscribe(string eventName, Action<dynamic> action) { if (!_Subscriptions.ContainsKey(eventName)) { //send the subscrition to the server DiPSEvent dEvent = new DiPSEvent { EventName = eventName, ClientId = _ClientId, MessageType = MessageType.Subscribe }; comms.Send(JsonConvert.SerializeObject(dEvent)); //add it locally _Subscriptions.Add(eventName, action); } }
public void Unsubscribe(string eventName) { if (!_Subscriptions.ContainsKey(eventName)) { //unsubscribe from the server DiPSEvent dEvent = new DiPSEvent { EventName = eventName, ClientId = _ClientId, MessageType = MessageType.Unsubscribe }; comms.Send(JsonConvert.SerializeObject(dEvent)); //then locally _Subscriptions.Remove(eventName); } }
public void Publish(string eventName, object eventParameter) { //send the event to the server DiPSEvent dEvent = new DiPSEvent { EventName = eventName, ClientId = _ClientId, MessageType = MessageType.Publish , EventParameter = JsonConvert.SerializeObject(eventParameter) }; comms.Send(JsonConvert.SerializeObject(dEvent)); }