示例#1
0
        /// <summary>
        /// Handles requests from the foreground by invoking the requested methods on a handler object
        /// </summary>
        private void HandleForegroundRequest(
            AppServiceConnection sender,
            AppServiceRequestReceivedEventArgs args)
        {
            using (new AppServiceDeferralWrapper(args.GetDeferral()))
            {
                //Identiy the channel
                var channel = args.Request.Message.Single().Key;

                //Retrieve the message (format: <Method> <Argument - can be null and is serialized as JSON>)
                var message = args.Request.Message.Single().Value.ToString();


                //Invoke the requested method on the handler based on the channel type
                if (channel == nameof(ISignalingSocketChannel))
                {
                    AppServiceChannelHelper.HandleRequest(args.Request, SignalingSocketService, message);
                }
                if (channel == nameof(IClientChannel))
                {
                    AppServiceChannelHelper.HandleRequest(args.Request, SignalingClient, message);
                }

                if (channel == nameof(IVoipChannel))
                {
                    AppServiceChannelHelper.HandleRequest(args.Request, VoipChannel, message);
                }
                if (channel == nameof(IMediaSettingsChannel))
                {
                    AppServiceChannelHelper.HandleRequest(args.Request, MediaSettingsChannel, message);
                }
            }
        }
示例#2
0
 private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
 {
     using (new AppServiceDeferralWrapper(args.GetDeferral()))
     {
         var message = args.Request.Message.Single().Value.ToString();
         AppServiceChannelHelper.HandleRequest(args.Request, this, message);
     }
 }
示例#3
0
        private void OnRequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
        {
            var deferral = args.GetDeferral();

            try
            {
                var message = args.Request.Message.Single().Value.ToString();
                AppServiceChannelHelper.HandleRequest(args.Request, this, message);
            }
            finally
            {
                deferral.Complete();
            }
        }