Ejemplo n.º 1
0
        private void cmdPause_Click(object sender, EventArgs e)
        {
            if (SelectedService == null)
            {
                return;
            }

            string PauseText = "";
            int    Control   = 0;

            if (SelectedService.State.ToLower() == "paused")
            {
                PauseText = "Unpausing";
                Control   = 4;
            }
            else
            {
                PauseText = "Pausing";
                Control   = 3;
            }

            PushServiceControlReq c = new PushServiceControlReq();

            c.Service = SelectedService.Name;
            c.Control = Control;
            PushServiceControlState res = Program.net.PushServiceControl(MachineID, c);

            if (res.ResultCode != 0)
            {
                MessageBox.Show(this, PauseText + " Service " + c.Service + " threw an error: 0x" + res.ResultCode.ToString("X8") + ", " + GetServiceError(res.ResultCode), Program.Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            UpdateStatus();
        }
Ejemplo n.º 2
0
        public static PushServiceControlState ServiceControl(string ReqString)
        {
            PushServiceControlState scm = new PushServiceControlState();
            PushServiceControlReq   req;

            try
            {
                req = JsonConvert.DeserializeObject <PushServiceControlReq>(ReqString);
            }
            catch (Exception ee)
            {
                Debug.WriteLine(ee.ToString());
                scm.ResultCode = 0x8000FFFF;
                return(scm);
            }

            if (string.IsNullOrWhiteSpace(req.Service) == true)
            {
                scm.ResultCode = 0x8000FFFF;
                return(scm);
            }

            req.Service = req.Service.Trim();

            try
            {
                switch (req.Control)
                {
                case 1:     //Stop
                    scm.ResultCode = InvokeCommand(req.Service, "StopService");
                    break;

                case 2:     //Start
                    scm.ResultCode = InvokeCommand(req.Service, "StartService");
                    break;

                case 3:     //Pause
                    scm.ResultCode = InvokeCommand(req.Service, "PauseService");
                    break;

                case 4:     //Resume
                    scm.ResultCode = InvokeCommand(req.Service, "ResumeService");
                    break;

                default:
                    scm.ResultCode = 0x8000FFFF;
                    break;
                }
            }
            catch (Exception ee)
            {
                Debug.WriteLine(ee.ToString());
                scm.ResultCode = 0x8000FFFF;
            }

            return(scm);
        }
Ejemplo n.º 3
0
        private void cmdStop_Click(object sender, EventArgs e)
        {
            if (SelectedService == null)
            {
                return;
            }
            PushServiceControlReq c = new PushServiceControlReq();

            c.Service = SelectedService.Name;
            c.Control = 1;
            PushServiceControlState res = Program.net.PushServiceControl(MachineID, c);

            if (res.ResultCode != 0)
            {
                MessageBox.Show(this, "Stopping Service " + c.Service + " threw an error: 0x" + res.ResultCode.ToString("X8") + ", " + GetServiceError(res.ResultCode), Program.Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            UpdateStatus();
        }
Ejemplo n.º 4
0
        public RESTStatus ServiceControl(SQLLib sql, PushServiceControlReq req, NetworkConnectionInfo ni, string MachineID)
        {
            if (ni.HasAcl(ACLFlags.ChangeServerSettings) == false)
            {
                ni.Error   = "Access denied";
                ni.ErrorID = ErrorFlags.AccessDenied;
                return(RESTStatus.Denied);
            }

            string guid = Guid.NewGuid().ToString();

            PushData p = new PushData();

            p.Action          = "servicecontrol";
            p.ReplyID         = guid;
            p.AdditionalData1 = JsonConvert.SerializeObject(req);

            PushServiceHelper.SendPushService(MachineID, p, 0);
            PushDataResponse resp = PushServiceHelper.PopResponse(MachineID, 0, guid);

            if (resp == null)
            {
                ni.Error   = "No response";
                ni.ErrorID = ErrorFlags.NoData;
                return(RESTStatus.NoContent);
            }

            try
            {
                ServiceState = JsonConvert.DeserializeObject <PushServiceControlState>(resp.Data.ToString());
            }
            catch
            {
                ni.Error   = "Faulty data";
                ni.ErrorID = ErrorFlags.NoData;
                return(RESTStatus.NoContent);
            }
            return(RESTStatus.Success);
        }