protected override void OnStart(string[] args) { //Refactor: Add debug condition for testing purpose EnableLogging(); EnableTimer(); //Refactor: Change XML to LiteDB : Location - C:\ProgramData\Spareio\Config XmlHelper.Initialize("settings", DateTime.Now.ToString()); XmlHelper.LoadInMemory(); //Refactor : Change logging to log4Net LogWriter.Info("Spareio winservice started"); //Adding wcf host urlacl new Thread(AddUrlAcl).Start(); bool isLoggedIn = false; //on first start after install, it will get token from installer which needs to be stored if (args.Length > 0) { isLoggedIn = args.Length > 0; XmlHelper.UpdateSetting(VariableConstants.xToken, args[0]); } else { LogWriter.Info("Service started without token"); } //Monitoring start MonitorService.Initialize(isLoggedIn); OpenWCFHost(); }
private void HourlyTimerOnElapsed(object sender, ElapsedEventArgs elapsedEventArgs) { LogWriter.Info("Timer elapsed.. time to send event"); MonitorService.Stop("Interval"); bool isLoggedIn = true; Boolean.TryParse(XmlHelper.ReadSetting(VariableConstants.IsLoggedIn), out isLoggedIn); MonitorService.Initialize(isLoggedIn); }
protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus) { LogWriter.Info("Power Mode change detected"); PowerStatus status = SystemInformation.PowerStatus; if (powerStatus == PowerBroadcastStatus.PowerStatusChange) { if (status.PowerLineStatus == PowerLineStatus.Online) { PowerService.HandlePlugIn(); } if (status.PowerLineStatus == PowerLineStatus.Offline) { PowerService.HandlePlugOut(); } } else if (powerStatus.HasFlag(PowerBroadcastStatus.ResumeSuspend)) { LogWriter.Info("Resume suspended coming back from sleep"); } else if (powerStatus.HasFlag(PowerBroadcastStatus.ResumeAutomatic)) { LogWriter.Info("Resume suspended coming back from sleep automatic"); MonitorService.Initialize(); } else if (powerStatus.HasFlag(PowerBroadcastStatus.QuerySuspend)) { MonitorService.Stop("Sleep"); LogWriter.Info("Going in sleeping mode"); LogWriter.Info("Query suspended going to sleep"); //MonitorService.Stop("Sleep"); } return(false); }