private static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e) { // logger of last hope if (e.ExceptionObject is Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } var logEntry = new MigEvent( Domains.HomeAutomation_HomeGenie, "Trapper", "Unhandled Exception", "Error.Exception", e.ExceptionObject.ToString() ); try { // try broadcast first (we don't want homegenie object to be passed, so use the domain string) Homegenie.RaiseEvent(Domains.HomeGenie_System, logEntry); } catch { HomeGenieService.LogError(logEntry); } }
public void SignalPropertyChange(object sender, Module module, MigEvent eventData) { ModuleParameter parameter = Utility.ModuleParameterGet(module, eventData.Property); var routedEvent = new RoutedEvent() { Sender = sender, Module = module, Parameter = parameter }; // Route event to Programs->ModuleIsChangingHandler if (RoutePropertyBeforeChangeEvent(routedEvent)) { // Route event to Programs->ModuleChangedHandler ThreadPool.QueueUserWorkItem(new WaitCallback(RoutePropertyChangedEvent), routedEvent); } }
private static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e) { var logEntry = new MigEvent( Domains.HomeAutomation_HomeGenie, "Trapper", "Unhandled Exception", "Error.Exception", e.ExceptionObject.ToString() ); try { // try broadcast first (we don't want homegenie object to be passed, so use the domain string) _homegenie.RaiseEvent(Domains.HomeGenie_System, logEntry); } catch { HomeGenieService.LogError(logEntry); } }
public void SignalPropertyChange(object sender, Module module, MigEvent eventData) { ModuleParameter parameter = null; try { // Lookup for the existing module parameter parameter = Utility.ModuleParameterGet(module, eventData.Property); if (parameter == null) { parameter = new ModuleParameter() { Name = eventData.Property, Value = eventData.Value.ToString() }; module.Properties.Add(parameter); } else { parameter.Value = eventData.Value.ToString(); } } catch (Exception ex) { HomeGenieService.LogError(ex); } var routedEvent = new RoutedEvent() { Sender = sender, Module = module, Parameter = parameter }; // Route event to Programs->ModuleIsChangingHandler if (RoutePropertyBeforeChangeEvent(routedEvent)) { // Route event to Programs->ModuleChangedHandler ThreadPool.QueueUserWorkItem(new WaitCallback(RoutePropertyChangedEvent), routedEvent); } }
public SseEvent(MigEvent evt) { Event = evt; Timestamp = DateTime.UtcNow; }