protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = PNOperationType.PNWhereNowOperation; string channels = ""; if ((ChannelsToUse != null) && (ChannelsToUse.Count > 0)) { channels = String.Join(",", ChannelsToUse.ToArray()); } string channelGroups = ""; if ((ChannelGroupsToUse != null) && (ChannelGroupsToUse.Count > 0)) { channelGroups = String.Join(",", ChannelGroupsToUse.ToArray()); } if (string.IsNullOrEmpty(uuid)) { uuid = this.PubNubInstance.PNConfig.UUID; } Uri request = BuildRequests.BuildSetStateRequest( channels, channelGroups, Helpers.BuildJsonUserState(ChannelEntities), uuid, this.PubNubInstance, this.QueryParams ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; Uri request; if (PushType.Equals(PNPushType.APNS2)) { request = BuildRequests.BuildRegisterDevicePushRequest( string.Join(",", ChannelsToUse.ToArray()), PushType, DeviceIDForPush, this.PubNubInstance, this.QueryParams, TopicForPush, EnvironmentForPush ); } else { request = BuildRequests.BuildRegisterDevicePushRequest( string.Join(",", ChannelsToUse.ToArray()), PushType, DeviceIDForPush, this.PubNubInstance, this.QueryParams ); } base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = base.OperationType; #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog(string.Format("FetchMessagesRequestBuilder: \nChannel {0} \nStartTime: {1} \nthis.EndTime:{2} \nthis.HistoryCount:{3} \nthis.ReverseHistory:{4}", string.Join(",", this.ChannelsToUse.ToArray()), this.StartTime, this.EndTime, this.HistoryCount, this.ReverseHistory), PNLoggingMethod.LevelInfo); #endif if (IncludeMessageActionsInHistory || ChannelsToUse.Count > 1) { this.HistoryCount = 25; } Uri request = BuildRequests.BuildFetchRequest( ChannelsToUse.ToArray(), this.StartTime, this.EndTime, this.HistoryCount, this.ReverseHistory, this.IncludeTimetokenInHistory, this.PubNubInstance, this.QueryParams, this.IncludeMetaInHistory, this.IncludeMessageActionsInHistory, this.IncludeMessageTypeInHistory, this.IncludeUUIDInHistory ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; string channels = ""; if ((ChannelsToUse != null) && (ChannelsToUse.Count > 0)) { channels = String.Join(",", ChannelsToUse.ToArray()); } string channelGroups = ""; if ((ChannelGroupsToUse != null) && (ChannelGroupsToUse.Count > 0)) { channelGroups = String.Join(",", ChannelGroupsToUse.ToArray()); } Uri request = BuildRequests.BuildHereNowRequest( channels, channelGroups, IncludeUUIDsInHereNow, IncludeStateInHereNow, this.PubNubInstance, this.QueryParams ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; Uri request = BuildRequests.BuildRemoveChannelPushRequest( string.Join(",", ChannelsToUse.ToArray()), PushType, DeviceIDForPush, this.PubNubInstance ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = base.OperationType; Uri request = BuildRequests.BuildRemoveChannelsFromChannelGroupRequest( ChannelsToUse.ToArray(), "", ChannelGroupToDelete, this.PubNubInstance ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = base.OperationType; Uri request = BuildRequests.BuildAddChannelsToChannelGroupRequest( ChannelsToUse.ToArray(), "", ChannelGroupToAdd, this.PubNubInstance ); #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog(string.Format("RunPNChannelGroupsAddChannel {0}", request.OriginalString), PNLoggingMethod.LevelInfo); #endif base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = base.OperationType; string TimetokenToUseString = ""; string ChannelsTimetokenToUseString = ""; if ((ChannelTimetokensToUse != null) && (ChannelTimetokensToUse.Count == 1)) { TimetokenToUseString = ChannelTimetokensToUse[0].ToString(); ChannelsTimetokenToUseString = ""; } else if (ChannelTimetokensToUse != null) { TimetokenToUseString = ""; ChannelsTimetokenToUseString = String.Join(",", ChannelTimetokensToUse.Select(p => p.ToString()).ToArray()); } else { // TODO: Remove in next major version bump TimetokenToUseString = TimetokenToUse; ChannelsTimetokenToUseString = ""; } #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog(string.Format("MessageCountsRequestBuilder: \nChannel {0} \nChannelTimetokens: {1} \nTimetokenToUse:{2}", string.Join(",", this.ChannelsToUse.ToArray()), ChannelsTimetokenToUseString, ChannelsTimetokenToUseString), PNLoggingMethod.LevelInfo); #endif Uri request = BuildRequests.BuildMessageCountsRequest( ChannelsToUse.ToArray(), ChannelsTimetokenToUseString, TimetokenToUseString, this.PubNubInstance, this.QueryParams ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); }
protected override void RunWebRequest(QueueManager qm) { RequestState requestState = new RequestState(); requestState.OperationType = OperationType; string channels = ""; if (ChannelsToUse != null) { channels = string.Join(",", ChannelsToUse.ToArray()); } string channelGroups = ""; if (ChannelGroupsToUse != null) { channelGroups = string.Join(",", ChannelGroupsToUse.ToArray()); } if (string.IsNullOrEmpty(channels) && (string.IsNullOrEmpty(channelGroups))) { #if (ENABLE_PUBNUB_LOGGING) this.PubNubInstance.PNLog.WriteToLog(string.Format("Both ChannelGroupsToLeave and ChannelsToLeave are empty, running unsubscribe all"), PNLoggingMethod.LevelInfo); #endif channelGroups = Helpers.GetNamesFromChannelEntities(this.PubNubInstance.SubscriptionInstance.AllChannelGroups, true); channels = Helpers.GetNamesFromChannelEntities(this.PubNubInstance.SubscriptionInstance.AllChannels, false); ChannelsToUse = Helpers.CreateListOfStringFromListOfChannelEntity(this.PubNubInstance.SubscriptionInstance.AllChannels); ChannelGroupsToUse = Helpers.CreateListOfStringFromListOfChannelEntity(this.PubNubInstance.SubscriptionInstance.AllChannelGroups); } List <ChannelEntity> subscribedChannels = this.PubNubInstance.SubscriptionInstance.AllSubscribedChannelsAndChannelGroups; List <ChannelEntity> newChannelEntities; this.PubNubInstance.SubscriptionInstance.TryRemoveDuplicatesCheckAlreadySubscribedAndGetChannels( OperationType, ChannelsToUse, ChannelGroupsToUse, true, out newChannelEntities ); //Retrieve the current channels already subscribed previously and terminate them this.PubNubInstance.SubWorker.AbortPreviousRequest(subscribedChannels); if (!this.PubNubInstance.PNConfig.SuppressLeaveEvents) { Uri request = BuildRequests.BuildLeaveRequest( channels, channelGroups, this.PubNubInstance ); base.RunWebRequest(qm, request, requestState, this.PubNubInstance.PNConfig.NonSubscribeTimeout, 0, this); } RemoveUnsubscribedChannelsAndDeleteUserState(newChannelEntities); //Get all the channels this.PubNubInstance.SubWorker.ContinueToSubscribeRestOfChannels(); }