Esempio n. 1
0
            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);
        }
    }
Esempio n. 3
0
        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);
     }
 }
Esempio n. 6
0
 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;
 }
Esempio n. 7
0
 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;
 }
Esempio n. 8
0
 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;
 }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
			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();
			}
Esempio n. 11
0
 public SystemTrayApp(IProcessProvider processProvider, IHostController hostController)
 {
     _processProvider = processProvider;
     _hostController = hostController;
 }
 public void Init(IHostController host)
 {
     Console.WriteLine(Name + " initialized");
 }
Esempio n. 13
0
 public SystemTrayApp(IProcessProvider processProvider, IHostController hostController)
 {
     _processProvider = processProvider;
     _hostController  = hostController;
 }