/// <summary>
        /// Creates a new PowerSchedulerFactory
        /// </summary>
        /// <param name="controller">Reference to tvservice's TVController</param>
        public PowerSchedulerFactory(IController controller)
        {
            Log.Info("PS: PowerSchedulerFactory");

            // Add handlers for preventing the system from entering standby
            IStandbyHandler standbyHandler;

            _standbyHandlers = new List <IStandbyHandler>();

            standbyHandler = new ActiveStreamsStandbyHandler(controller);
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ControllerActiveStandbyHandler(controller);
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ProcessActiveStandbyHandler();
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ActiveNetworkStandbyHandler();
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ActiveSharesStandbyHandler();
            _standbyHandlers.Add(standbyHandler);

            // Add handlers for resuming from standby
            IWakeupHandler wakeupHandler;

            _wakeupHandlers = new List <IWakeupHandler>();

            wakeupHandler = new ScheduledRecordingsWakeupHandler(controller);
            _wakeupHandlers.Add(wakeupHandler);
            wakeupHandler = new XmlTvImportWakeupHandler();
            _wakeupHandlers.Add(wakeupHandler);

            // Activate the handlers which register/unregister themselves dynamically
            wakeupHandler = new EpgGrabbingStandbyWakeupHandler(controller);
            wakeupHandler = new RebootWakeupHandler();
        }
        /// <summary>
        /// Creates a new PowerSchedulerFactory
        /// </summary>
        public PowerSchedulerFactory()
        {
            Log.Info("PS: PowerSchedulerFactory");

            // Add handlers for preventing the system from entering standby
            IStandbyHandler standbyHandler;

            _standbyHandlers = new List <IStandbyHandler>();

            standbyHandler = new ProcessActiveStandbyHandler();
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ActiveNetworkStandbyHandler();
            _standbyHandlers.Add(standbyHandler);
            standbyHandler = new ActiveSharesStandbyHandler();
            _standbyHandlers.Add(standbyHandler);

            // Add handlers for resuming from standby
            IWakeupHandler wakeupHandler;

            _wakeupHandlers = new List <IWakeupHandler>();

            // Activate the handlers which register/unregister themselves dynamically
            wakeupHandler = new RebootWakeupHandler();
        }