Пример #1
0
 public static void GetState(AbstractLogger logger, IEpochTime epochTime, string clientVersion, IDatabase database, IUserDatabase userDatabase, INotificationQueue notificationQueue, IMixWebCallFactory mixWebCallFactory, string localUserId, long lastNotificationTime, Action <GetStateResponse> successCallback, Action failureCallback)
 {
     try
     {
         GetStateRequest getStateRequest = new GetStateRequest();
         getStateRequest.UserId        = localUserId;
         getStateRequest.ClientVersion = clientVersion;
         GetStateRequest request = getStateRequest;
         IWebCall <GetStateRequest, GetStateResponse> webCall = mixWebCallFactory.StatePost(request);
         webCall.OnResponse += delegate(object sender, WebCallEventArgs <GetStateResponse> e)
         {
             HandleGetStateSuccess(logger, epochTime, database, userDatabase, notificationQueue, e.Response, mixWebCallFactory, successCallback, failureCallback);
         };
         webCall.OnError += delegate
         {
             failureCallback();
         };
         webCall.Execute();
     }
     catch (Exception ex)
     {
         logger.Critical("Unhandled exception: " + ex);
         failureCallback();
     }
 }
Пример #2
0
        public void cannot_get_state_when_unauthorized()
        {
            // Arrange
            var request = new GetStateRequest()
            {
                ActivityId = new Uri(ACTIVITY_ID),
                Agent      = new Agent()
                {
                    Name = AGENT_NAME,
                    MBox = new Uri(AGENT_MBOX)
                },
                Registration = REGISTRATION,
                StateId      = STATE_ID
            };

            this._mockHttp
            .When(HttpMethod.Get, this.GetApiUrl("activities/state"))
            .WithQueryString("activityId", ACTIVITY_ID)
            .WithQueryString("agent", AGENT_QS)
            .WithQueryString("registration", REGISTRATION.ToString())
            .WithQueryString("stateId", STATE_ID)
            .Respond(HttpStatusCode.Forbidden);

            // Act
            Func <Task> action = async() =>
            {
                await this._client.States.Get(request);
            };

            // Assert
            action.ShouldThrow <ForbiddenException>();
        }
Пример #3
0
 public static async Task <GetStateResponse> GetState(VoteServerLogic logic, GetStateRequest model)
 {
     return(new GetStateResponse()
     {
         State = logic.GameManager.GameState
     });
 }
Пример #4
0
        public async Task can_get_state_with_string_document()
        {
            // Arrange
            var request = new GetStateRequest()
            {
                ActivityId = new Uri(ACTIVITY_ID),
                Agent      = new Agent()
                {
                    Name = AGENT_NAME,
                    MBox = new Uri(AGENT_MBOX)
                },
                Registration = REGISTRATION,
                StateId      = STATE_ID
            };

            this._mockHttp
            .When(HttpMethod.Get, this.GetApiUrl("activities/state"))
            .WithQueryString("activityId", ACTIVITY_ID)
            .WithQueryString("agent", AGENT_QS)
            .WithQueryString("registration", REGISTRATION.ToString())
            .WithQueryString("stateId", STATE_ID)
            .Respond(this.GetStateResponseMessage());

            // Act
            StateDocument <string> state = await this._client.States.Get <string>(request);

            // Assert
            state.Should().NotBeNull();
            state.ETag.Should().Be(ETAG);
            state.LastModified.Should().Be(LAST_MODIFIED);
            state.Content.Should().NotBeNullOrEmpty();
        }
Пример #5
0
        private void GetState()
        {
            var stateRequest = new GetStateRequest();

            stateRequest.ProcessSuccessfully += data =>
                                                Dispatcher.BeginInvoke((Action) delegate
            {
                Cursor = Cursors.Arrow;
                UpdateButtonState();
                OnUpdateParentControl(null);
            });
            stateRequest.ProcessError += (errorCode, msg) =>
            {
                Dispatcher.BeginInvoke((Action) delegate
                {
                    Cursor = Cursors.Arrow;
                    switch (errorCode)
                    {
                    case RobotRequest.ErrorCode.SetupConnection:
                    case RobotRequest.ErrorCode.WrongSessionID:
                        OnUpdateParentControl("MustReconnect");
                        break;
                    }
                });
                Debug.Fail(msg, Enum.GetName(typeof(RobotRequest.ErrorCode), errorCode));
            };
            GlobalVariables.RobotWorker.AddJob(stateRequest);
        }
Пример #6
0
 public static GetStateResponse GetState(GetStateRequest model)
 {
     var stateData = SocialWarGames.Instance.StateData;
     return new GetStateResponse()
     {
         StateData = stateData
     };
 }
Пример #7
0
 public override Task <GetStateResponse> GetState(GetStateRequest request, ServerCallContext context)
 {
     return(Task.Run(() =>
     {
         return new GetStateResponse()
         {
             ServerWillShutdown = false,
             TimeStamp = DateTime.Now.Ticks
         };
     }));
 }
Пример #8
0
        public async Task <(bool, bool)> GetState()
        {
            await ReadConfiguration();

            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
            var channel  = GrpcChannel.ForAddress(_url);
            var client   = new SaunaService.SaunaServiceClient(channel);
            var request  = new GetStateRequest();
            var response = await client.GetStateAsync(request);

            return(response.IsSaunaOn, response.IsInfraredOn);
        }
Пример #9
0
        public override async Task <GetStateResponse> GetState(GetStateRequest request, ServerCallContext context)
        {
            _logger.LogInformation("State requested by gRPC!");

            await _gpioService.Initialize();

            var isSaunaOn = await _gpioService.IsSaunaOn();

            var isInfraredOn = await _gpioService.IsInfraredOn();

            return(new GetStateResponse
            {
                IsSaunaOn = isSaunaOn,
                IsInfraredOn = isInfraredOn
            });
        }
Пример #10
0
 public override Task <GetStateResponse> GetState(GetStateRequest request, ServerCallContext context)
 {
     State state = new()
     {
         AppState = _m.State.GetType().Name switch
         {
             "DisconnectedState" => State.Types.AppState.Disconnected,
             "ConnectingState" => State.Types.AppState.Connecting,
             "ConnectedState" => State.Types.AppState.Connected,
             "DisconnectingState" => State.Types.AppState.Disconnecting,
             "MaintenanceState" => State.Types.AppState.Maintenance,
             _ => State.Types.AppState.Unknown,
         },
         Connections   = _m.Connections,
         IsPortOpened  = _m.IsPortOpened,
         PeerId        = _m.PeerId,
         HasKey        = _m.Key != null,
         CanConnect    = _m.CanConnect,
         CanDisconnect = _m.CanDisconnect,
     };
Пример #11
0
        private void GetState(Action <ulong> method, ulong motionID)
        {
            var stateRequest = new GetStateRequest();

            stateRequest.ProcessSuccessfully += data => Dispatcher.BeginInvoke((Action) delegate
            {
                UpdateRemoteControl();
                method(motionID);
                Cursor = Cursors.Arrow;
            });
            stateRequest.ProcessError += (errorCode, msg) =>
            {
                Dispatcher.BeginInvoke((Action) delegate
                {
                    Cursor = Cursors.Arrow;
                    switch (errorCode)
                    {
                    case RobotRequest.ErrorCode.SetupConnection:
                    case RobotRequest.ErrorCode.WrongSessionID:
                        var titleError = (string)TryFindResource("RobotConnectionLostText");
                        var msgError   = (string)TryFindResource("WantReconnectRobotText");
                        var result     = WPFMessageBox.Show(StaticMainWindow.Window, msgError,
                                                            titleError, MessageBoxButton.YesNo,
                                                            MessageBoxImage.Question, MessageBoxResult.Yes);
                        if (result == MessageBoxResult.Yes)
                        {
                            ConnectMrobo();
                        }
                        else
                        {
                            GlobalVariables.RoboOnline    = false;
                            UnconnectedTextBox.Visibility = Visibility.Visible;
                        }
                        break;
                    }
                });

                Debug.Fail(msg, Enum.GetName((typeof(RobotRequest.ErrorCode)), errorCode));
            };
            GlobalVariables.RobotWorker.AddJob(stateRequest);
        }
Пример #12
0
        private void GetState()
        {
            var stateRequest = new GetStateRequest();

            stateRequest.ProcessSuccessfully += data =>
            {
                OnProcessSuccessfully(data);
                OnUpdateParentControl(null);
            };
            stateRequest.ProcessError += (errorCode, msg) =>
            {
                Debug.Fail(msg);
                switch (errorCode)
                {
                case RobotRequest.ErrorCode.SetupConnection:
                case RobotRequest.ErrorCode.WrongSessionID:
                    OnUpdateParentControl("MustReconnect");
                    break;
                }
                OnProcessError();
            };
            GlobalVariables.RobotWorker.AddJob(stateRequest);
        }
Пример #13
0
        async Task <StateDocument <T> > IStatesApi.Get <T>(GetStateRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            request.Validate();

            var options = new RequestOptions(ENDPOINT);

            this.CompleteOptions(options, request);

            HttpResponseMessage response = await this._client.GetJson(options);

            T content = await response.Content.ReadAsAsync <T>(new[] { new StrictJsonMediaTypeFormatter() });

            var document = new StateDocument <T>();

            document.ETag         = response.Headers.ETag?.Tag;
            document.LastModified = response.Content.Headers.LastModified;
            document.Content      = content;

            return(document);
        }
Пример #14
0
 private void CompleteOptions(RequestOptions options, GetStateRequest request)
 {
     this.CompleteOptionsBase(options, request);
 }
Пример #15
0
 public IWebCall <GetStateRequest, GetStateResponse> StatePost(GetStateRequest request)
 {
     return(CreateWebCall <GetStateRequest, GetStateResponse>(HttpMethod.POST, new Uri(host + "/state"), request, 30000L, 40000L));
 }
 internal Task <GetStateResponse> GetState(GetStateRequest request)
 {
     return(SendAsync <GetStateResponse>(Url, new HttpFormUrlEncodedContent(request.ToDictionary())));
 }
Пример #17
0
 public static GetStateResponse New(GetStateRequest request, IActionRequest forRequest, IActionProcessingState currentState) => new GetStateResponse(request, forRequest, currentState);
Пример #18
0
 public GetStateResponse(GetStateRequest request, IActionRequest forRequest, IActionProcessingState currentState)
     : base(request)
 {
     ForRequest   = forRequest;
     CurrentState = currentState;
 }