public void AddListener(Action <PNStatus> callback, Action <PNMessageResult> callback2, Action <PNPresenceEventResult> callback3) { SubscribeCallback += (object sender, EventArgs e) => { SubscribeEventEventArgs mea = e as SubscribeEventEventArgs; #if (ENABLE_PUBNUB_LOGGING) this.PNLog.WriteToLog("AddListener SubscribeCallback", PNLoggingMethod.LevelInfo); #endif if (mea != null) { if (mea.Status != null) { callback(mea.Status); } if (mea.MessageResult != null) { callback2(mea.MessageResult); } if (mea.PresenceEventResult != null) { callback3(mea.PresenceEventResult); } } }; }
public void CreateEventArgsAndRaiseEvent(PNStatus pnStatus) { SubscribeEventEventArgs mea = new SubscribeEventEventArgs(); mea.Status = pnStatus; PubNubInstance.RaiseEvent(mea); }
public void AddListener(Action <PNStatus> statusCallback, Action <PNMessageResult> messageCallback, Action <PNPresenceEventResult> presenceCallback, Action <PNSignalEventResult> signalCallback, Action <PNUUIDEventResult> uuidCallback, Action <PNChannelEventResult> channelEventCallback, Action <PNMembershipEventResult> membershipCallback, Action <PNMessageActionsEventResult> messageActionsCallback) { SubscribeCallback += (object sender, EventArgs e) => { SubscribeEventEventArgs mea = e as SubscribeEventEventArgs; #if (ENABLE_PUBNUB_LOGGING) this.PNLog.WriteToLog("AddListener SubscribeCallback", PNLoggingMethod.LevelInfo); #endif if (mea != null) { if (mea.Status != null && statusCallback != null) { statusCallback(mea.Status); } if (mea.MessageResult != null && messageCallback != null) { messageCallback(mea.MessageResult); } if (mea.PresenceEventResult != null && presenceCallback != null) { presenceCallback(mea.PresenceEventResult); } if (mea.SignalEventResult != null && signalCallback != null) { signalCallback(mea.SignalEventResult); } if (mea.UUIDEventResult != null && uuidCallback != null) { uuidCallback(mea.UUIDEventResult); } if (mea.ChannelEventResult != null && channelEventCallback != null) { channelEventCallback(mea.ChannelEventResult); } if (mea.MembershipEventResult != null && membershipCallback != null) { membershipCallback(mea.MembershipEventResult); } if (mea.MessageActionsEventResult != null && messageActionsCallback != null) { messageActionsCallback(mea.MessageActionsEventResult); } } }; }
private void PubNubUnityInitializationAfterCleanup() { if (cleanedUp) { pnUnity = new PubNubUnity(PNConfig, gameObj, jsonLibrary); pnUnity.SubscribeCallback += (sender, e) => { SubscribeEventEventArgs mea = e as SubscribeEventEventArgs; #if (ENABLE_PUBNUB_LOGGING) this.pnUnity.PNLog.WriteToLog("SubscribeCallback PN", PNLoggingMethod.LevelInfo); #endif RaiseEvent(mea); }; cleanedUp = false; } }
internal void FindChannelEntityAndCallback(SubscribeMessage subscribeMessage, ChannelIdentity ci) { bool isPresenceChannel = Utility.IsPresenceChannel(subscribeMessage.Channel); PNStatus pns = new PNStatus(); pns.Error = false; SubscribeEventEventArgs mea = new SubscribeEventEventArgs(); mea.Status = pns; if (((subscribeMessage.SubscriptionMatch.Contains(".*")) && isPresenceChannel) || (isPresenceChannel)) { #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog("Raising presence message event ", PNLoggingMethod.LevelInfo); #endif PNPresenceEventResult subMessageResult; CreatePNPresenceEventResult(subscribeMessage, out subMessageResult); mea.PresenceEventResult = subMessageResult; PubNubInstance.RaiseEvent(mea); } else { PNMessageResult subMessageResult; CreatePNMessageResult(subscribeMessage, out subMessageResult); #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog("Raising message event ", PNLoggingMethod.LevelInfo); #endif if (!string.IsNullOrEmpty(this.PubNubInstance.PNConfig.CipherKey) && (this.PubNubInstance.PNConfig.CipherKey.Length > 0)) { subMessageResult.Payload = Helpers.DecodeMessage(PubNubInstance.PNConfig.CipherKey, subMessageResult.Payload, PNOperationType.PNSubscribeOperation, this.PubNubInstance); } mea.MessageResult = subMessageResult; PubNubInstance.RaiseEvent(mea); } }