public void Start(IHostController hostController) { AppHosting.SetupChannel(); var d = new SingleAssignmentDisposable(); if (keepAlive) { d.Disposable = Observable.Interval(TimeSpan.FromMilliseconds(500)) .Subscribe(i => { try { if (!hostController.isAlive()) { d.Dispose(); Process.GetCurrentProcess().Kill(); } } catch (Exception err) { dbg.Error(err); Process.GetCurrentProcess().Kill(); } }); } var live555 = new Live555(videoBuffer, metadataReceiver); live555.Play(mediaStreamInfo, playbackController); d.Dispose(); }
public void Init(IHostController host, string assemblyPath) { // note that you pass reference to controller here _name = Path.GetFileNameWithoutExtension(assemblyPath); if (_pluginAassembly == null) { _pluginAassembly = AppDomain.CurrentDomain.Load(File.ReadAllBytes(assemblyPath)); } // Required to identify the types when obfuscated Type[] types; try { types = _pluginAassembly.GetTypes(); } catch (ReflectionTypeLoadException e) { types = e.Types.Where(t => t != null).ToArray(); } var type = types.FirstOrDefault(t => t.GetInterface("IPlugin") != null); if (type != null && _instance == null) { _instance = (IPlugin)Activator.CreateInstance(type, null, null); // propagate reference to controller futher _instance.Init(host); } }
private WaitHandle StartHost(IHostController host, IStartupArguments args) { var handle = new ManualResetEvent(false); new Thread(() => { try { host.Initialize(); host.Start(args); } catch (Exception ex) { log.Error(string.Format("Failed to start '{0}'", host.Name), ex); } finally { try { handle.Set(); } catch (Exception ex) { log.Error("Failed to set handle signalling host started.", ex); } } }) { IsBackground = true }.Start(); return handle; }
public FittingFramework() { HostController = new HostController(); DeviceController = new DeviceController(DeviceCommunicationType.Simulation); Session = new FittingSession(ProcessorType.Inductive, ProcessorType.Inductive); ActionController = new ActionController(); }
protected PluginMessengerController(BaseControllerViewModel viewModelController, IHostController host, bool receiveMessage) { ViewModelController = viewModelController; Host = host; if (receiveMessage) { host.Messenger.Sent += (sender, evntArgs) => TreatMessage(sender, evntArgs.MessageSent); } }
public NzbDroneServiceFactory(IConfigFileProvider configFileProvider, IHostController hostController, IRuntimeInfo runtimeInfo, IProcessProvider processProvider, PriorityMonitor priorityMonitor, IStartupArguments startupArguments, Logger logger) { _configFileProvider = configFileProvider; _hostController = hostController; _runtimeInfo = runtimeInfo; _processProvider = processProvider; _priorityMonitor = priorityMonitor; _startupArguments = startupArguments; _logger = logger; }
public NzbDroneServiceFactory(IConfigFileProvider configFileProvider, IHostController hostController, IRuntimeInfo runtimeInfo, IStartupContext startupContext, IBrowserService browserService, Logger logger) { _configFileProvider = configFileProvider; _hostController = hostController; _runtimeInfo = runtimeInfo; _startupContext = startupContext; _browserService = browserService; _logger = logger; }
WaitHandle ShutdownHost(IHostController controller, IShutdownArguments args) { var handle = new ManualResetEvent(false); new Thread(() => { try { using (controller) controller.Stop(args); } catch (Exception ex) { log.Error(string.Format("Failed to shutdown host '{0}'", controller.Name), ex); } finally { try { handle.Set(); } catch (Exception ex) { log.Error("Failed to set handle signalling host stopped.", ex); } Hosts.Remove(controller); } }) { IsBackground = true } .Start(); return handle; }
public SystemTrayApp(IProcessProvider processProvider, IHostController hostController) { _processProvider = processProvider; _hostController = hostController; }
public void Init(IHostController host) { Console.WriteLine(Name + " initialized"); }