public override Task <RestartReply> Restart(RestartRequest request, ServerCallContext context)
        {
            Log.Info("Executing [{Name}] [{Delay}s] [{Force}]", nameof(Restart), request.Delay, request.Force);
            var success = MachineStateHelper.TryRestart(TimeSpan.FromSeconds(request.Delay), request.Force);

            return(Task.FromResult(new RestartReply()
            {
                Success = success
            }));
        }
        public override Task <AbortShutdownReply> AbortShutDown(AbortShutdownRequest request, ServerCallContext context)
        {
            Log.Info("Executing [{Name}]", nameof(AbortShutDown));
            var success = MachineStateHelper.TryAbortShutDown();

            return(Task.FromResult(new AbortShutdownReply()
            {
                Success = success
            }));
        }
        public override Task <ShutdownDelayedReply> ShutDownDelayed(ShutdownDelayedRequest request, ServerCallContext context)
        {
            Log.Info("Executing [{Name}] [{Delay}s] [{Force}]", nameof(ShutDownDelayed), request.Seconds, request.Force);
            var success = MachineStateHelper.TryShutDownDelayed(TimeSpan.FromSeconds(request.Seconds), request.Force);

            return(Task.FromResult(new ShutdownDelayedReply()
            {
                Success = success
            }));
        }
        public override Task <HibernateReply> Hibernate(HibernateRequest request, ServerCallContext context)
        {
            Log.Info("Executing [{Name}]", nameof(Hibernate));
            var success = MachineStateHelper.TryHibernate();

            return(Task.FromResult(new HibernateReply()
            {
                Success = success
            }));
        }