private static void RunCommand(string[] args) { if (args.Length < 2) { return; } var service = OculusUtil.FindOculusService(); if (service == null) { Error(Resources.Error_VR_Service_Not_Found); return; } var oculusService = new OculusService(service); switch (args[1].ToLowerInvariant()) { case OculusService.StartCommand: oculusService.Start(); break; case OculusService.StopCommand: oculusService.Stop(); break; case OculusService.RestartCommand: oculusService.Restart(); break; } }
public void Restart() { if (OculusUtil.IsElevated) { Stop(); Start(); } else { _temporaryStatus = ServiceControllerStatus.StartPending; OculusUtil.ElevateMe(RestartCommand, true); _temporaryStatus = null; } }
public void Stop() { if (OculusUtil.IsElevated) { _service.Stop(); _service.WaitForStatus(ServiceControllerStatus.Stopped); } else { _temporaryStatus = ServiceControllerStatus.StopPending; OculusUtil.ElevateMe(StopCommand, true); _temporaryStatus = null; } }
private static void StartTrayIcon() { var service = OculusUtil.FindOculusService(); if (service == null) { Error(Resources.Error_VR_Service_Not_Found); return; } var clientPath = OculusUtil.GetOculusClientPath(); if (clientPath == null) { Error(Resources.Error_Oculus_Client_Not_Found); return; } using (new OculusTrayIcon(new OculusService(service), clientPath)) { Application.Run(); } }