示例#1
0
        public RTSubscription(SubscriptionNames subscriptionName, IRTCallback callback) : base(callback)
        {
            if (callback == null)
            {
                throw new ArgumentException("Callback cannot be null");
            }

            SubscriptionName = subscriptionName;
        }
示例#2
0
        private void AddUserListener(IRTCallback rtCallback)
        {
            MessagingSubscription subscription = MessagingSubscription.UserStatus(channelName, rtCallback);

            messagingCallbacks.Add(subscription);

            if (IsJoined())
            {
                rtClient.Subscribe(subscription);
            }
        }
示例#3
0
        public static MessagingSubscription UserStatus(String channel, IRTCallback callback)
        {
            if (channel == null || channel.Length == 0)
            {
                throw CreateChannelNullException();
            }

            MessagingSubscription messagingSubscription = new MessagingSubscription(SubscriptionNames.PUB_SUB_USERS, callback);

            messagingSubscription.PutOption("channel", channel);

            return(messagingSubscription);
        }
示例#4
0
        private void AddCommandListener(IRTCallback rtCallback)
        {
            Log.log(Backendless.BACKENDLESSLOG, "try to add command listener");
            T subscription = CreateSubscription(rtCallback);

            Log.log(Backendless.BACKENDLESSLOG, String.Format("subscription object {0}", subscription));
            GetSubscriptionHolder().Add(subscription);

            if (IsConnected())
            {
                Log.log(Backendless.BACKENDLESSLOG, "subscription is connected try to subscribe");
                rtClient.Subscribe(subscription);
            }
        }
示例#5
0
        private void AddMessageListener(String selector, IRTCallback rtCallback)
        {
            MessagingSubscription subscription;

            if (selector == null)
            {
                subscription = MessagingSubscription.Subscribe(channelName, rtCallback);
            }
            else
            {
                subscription = MessagingSubscription.Subscribe(channelName, selector, rtCallback);
            }

            messagingCallbacks.Add(subscription);

            if (IsJoined())
            {
                rtClient.Subscribe(subscription);
            }
        }
示例#6
0
        public static MessagingSubscription Subscribe(String channel, String selector, IRTCallback callback)
        {
            MessagingSubscription messagingSubscription = Subscribe(channel, callback);

            messagingSubscription.PutOption("selector", selector);
            return(messagingSubscription);
        }
示例#7
0
 public RTMethodRequest(MethodTypes methodType, IRTCallback callback) : base(callback)
 {
     MethodType = methodType;
 }
示例#8
0
 protected override MessagingSubscription CreateSubscription(IRTCallback rtCallback)
 {
     return(MessagingSubscription.Command(parent.channelName, rtCallback));
 }
示例#9
0
 protected override CommandRequest CreateCommandRequest(IRTCallback rtCallback)
 {
     return(new MessagingCommandRequest(parent.channelName, rtCallback));
 }
示例#10
0
 public override MessagingSubscription CreateSubscription(IRTCallback callback)
 {
     return(MessagingSubscription.Connect(base.subject, callback));
 }
示例#11
0
 public abstract T CreateSubscription(IRTCallback callback);
示例#12
0
 public MessagingCommandRequest(String channel, IRTCallback callback) : base(MethodTypes.PUB_SUB_COMMAND, callback)
 {
     PutOption("channel", channel);
 }
示例#13
0
 protected AbstractRequest(IRTCallback callback)
 {
     this.Id       = Guid.NewGuid().ToString();
     this.Callback = callback;
     this.Options  = new Dictionary <string, object>();
 }
示例#14
0
 public DataSubscription(RTDataEvents rtDataEvent, String tableName, IRTCallback callback) : base(SubscriptionNames.OBJECTS_CHANGES, callback)
 {
     PutOption("event", Enum.GetName(typeof(RTDataEvents), rtDataEvent));
     PutOption("tableName", tableName);
 }
示例#15
0
 protected abstract CommandRequest CreateCommandRequest(IRTCallback rtCallback);
示例#16
0
 protected abstract T CreateSubscription(IRTCallback rtCallback);
示例#17
0
 internal MessagingSubscription(SubscriptionNames subscriptionName, IRTCallback callback) : base(subscriptionName, callback)
 {
 }
示例#18
0
 public CommandRequest(MethodTypes methodType, IRTCallback callback) : base(methodType, callback)
 {
 }