コード例 #1
0
ファイル: TvServerPlugin.cs プロジェクト: rob-opsi/ARGUS-TV
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered <IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get <IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get <ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            string recorderUrl = String.Format("http://localhost:{0}/ArgusTV/Recorder", _recorderTunerTcpPort);

            _recorderRestHost = new ServiceHost(typeof(RecorderApiService), new Uri(recorderUrl));
            _recorderRestHost.AddServiceEndpoint(typeof(IRecorderApi), GetRestBinding(), "").Behaviors.Add(new WebHttpBehavior());
            _recorderRestHost.Open();

            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Listening on " + recorderUrl);

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #2
0
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered <IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get <IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get <ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            _recorderTunerHost = new RecorderTunerServiceHost(typeof(MediaPortalRecorderTunerService), _recorderTunerTcpPort);
            _recorderTunerHost.Open();

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #3
0
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered <IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get <IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get <ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            HostConfiguration configuration = new HostConfiguration()
            {
                AllowChunkedEncoding     = true,
                EnableClientCertificates = false
            };
            string recorderUrl = String.Format("http://localhost:{0}/ArgusTV/", _recorderTunerTcpPort);

            _recorderRestHost = new NancyHost(configuration, new Uri(recorderUrl));
            _recorderRestHost.Start();
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Listening on " + recorderUrl + "Recorder/");

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #4
0
 public override void Cleanup()
 {
     if (ResumeEventEnabled)
     {
         PowerEventHandler.DeregisterResumeEvent();
     }
     if (DarkThemeOnBatteryEnabled)
     {
         PowerEventHandler.DeregisterThemeEvent();
     }
 }
コード例 #5
0
        /// <summary>
        /// Registers or deregisters events based on their enabled setting
        /// </summary>
        public void UpdateEventStates()
        {
            if (builder.Config.Events.DarkThemeOnBattery)
            {
                PowerEventHandler.RegisterThemeEvent();
            }
            else
            {
                PowerEventHandler.DeregisterThemeEvent();
            }

            if (builder.Config.Events.SystemResumeTrigger)
            {
                PowerEventHandler.RegisterResumeEvent();
            }
            else
            {
                PowerEventHandler.DeregisterResumeEvent();
            }
        }
コード例 #6
0
        public override void Fire()
        {
            if (builder.Config.Events.DarkThemeOnBattery)
            {
                if (!DarkThemeOnBatteryEnabled)
                {
                    PowerEventHandler.RegisterThemeEvent();
                    Logger.Info("enabling event handler for dark mode on battery state discharging");
                    DarkThemeOnBatteryEnabled = true;
                }
            }
            else
            {
                if (DarkThemeOnBatteryEnabled)
                {
                    PowerEventHandler.DeregisterThemeEvent();
                    Logger.Info("disabling event handler for dark mode on battery state discharging");
                    DarkThemeOnBatteryEnabled = false;
                }
            }

            if (builder.Config.Tunable.SystemResumeTrigger)
            {
                if (!ResumeEventEnabled)
                {
                    PowerEventHandler.RegisterResumeEvent();
                    Logger.Info("enabling theme refresh at system resume");
                    ResumeEventEnabled = true;
                }
            }
            else
            {
                if (ResumeEventEnabled)
                {
                    PowerEventHandler.DeregisterResumeEvent();
                    Logger.Info("disabling theme refresh at system resume");
                    ResumeEventEnabled = false;
                }
            }
        }
コード例 #7
0
 public void RemovePowerEventHandler(PowerEventHandler handler)
 {
   lock (_powerEventHandlers)
     _powerEventHandlers.Remove(handler);
 }
コード例 #8
0
 public void AddPowerEventHandler(PowerEventHandler handler)
 {
   _powerEventHandlers.Add(handler);
 }
コード例 #9
0
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered<IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get<IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get<ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            _recorderTunerHost = new RecorderTunerServiceHost(typeof(MediaPortalRecorderTunerService), _recorderTunerTcpPort);
            _recorderTunerHost.Open();

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #10
0
ファイル: Service1.cs プロジェクト: usermonk/MediaPortal-1
 public void RemovePowerEventHandler(PowerEventHandler handler)
 {
     lock (_powerEventHandlers)
         _powerEventHandlers.Remove(handler);
 }
コード例 #11
0
ファイル: Service1.cs プロジェクト: usermonk/MediaPortal-1
 public void AddPowerEventHandler(PowerEventHandler handler)
 {
     _powerEventHandlers.Add(handler);
 }
コード例 #12
0
ファイル: TvServerPlugin.cs プロジェクト: ElRakiti/ARGUS-TV
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered<IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get<IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get<ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            HostConfiguration configuration = new HostConfiguration()
            {
                AllowChunkedEncoding = true,
                EnableClientCertificates = false
            };
            string recorderUrl = String.Format("http://localhost:{0}/ArgusTV/", _recorderTunerTcpPort);
            _recorderRestHost = new NancyHost(configuration, new Uri(recorderUrl));
            _recorderRestHost.Start();
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Listening on " + recorderUrl + "Recorder/");

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #13
0
        public void Start(IController controller)
        {
            Log.Info("ArgusTV.Recorder.MediaPortalTvServer: Start");

            AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;

            _controller = controller;
            LoadSettings();

            if (GlobalServiceProvider.Instance.IsRegistered<IPowerEventHandler>())
            {
                _powerEventHandler = new PowerEventHandler(OnPowerEvent);
                GlobalServiceProvider.Instance.Get<IPowerEventHandler>().AddPowerEventHandler(_powerEventHandler);
                Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnPowerEvent with TV Server");
            }
            else
            {
                Log.Error("ArgusTV.Recorder.MediaPortalTvServer: Failed to register OnPowerEvent with TV Server!");
            }

            GlobalServiceProvider.Instance.Get<ITvServerEvent>().OnTvServerEvent += events_OnTvServerEvent;
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Registered OnTvServerEvent with TV Server");

            string recorderUrl = String.Format("http://localhost:{0}/ArgusTV/Recorder", _recorderTunerTcpPort);

            _recorderRestHost = new ServiceHost(typeof(RecorderApiService), new Uri(recorderUrl));
            _recorderRestHost.AddServiceEndpoint(typeof(IRecorderApi), GetRestBinding(), "").Behaviors.Add(new WebHttpBehavior());
            _recorderRestHost.Open();
            
            Log.Debug("ArgusTV.Recorder.MediaPortalTvServer: Listening on " + recorderUrl);

            _dvbEpgThread = new DvbEpgThread();
            _dvbEpgThread.Start();
        }
コード例 #14
0
ファイル: Power.cs プロジェクト: kbrantley/ReceiverWhisperer
 public void SubscribePowerChanges(PowerEventHandler e)
 {
     if (OnPowerChanged == null)
         OnPowerChanged = new PowerEventHandler(e);
     else
         OnPowerChanged += new PowerEventHandler(e);
 }