Esempio n. 1
0
        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);
                    }
                }
            };
        }
Esempio n. 2
0
        public void CreateEventArgsAndRaiseEvent(PNStatus pnStatus)
        {
            SubscribeEventEventArgs mea = new SubscribeEventEventArgs();

            mea.Status = pnStatus;

            PubNubInstance.RaiseEvent(mea);
        }
Esempio n. 3
0
        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);
                    }
                }
            };
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
        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);
            }
        }