Пример #1
0
        private static void MessageHandler(object args)
        {
            if (args is SleepEvent)
            {
                SleepChangeEventHandler h = OnSleepChange;

                if (h != null)
                {
                    h((SleepEvent)args);
                }
            }
            else if (args is PowerEvent)
            {
                PowerEvent pe = (PowerEvent)args;

                PowerLevelChangeEventHandler h = OnPowerLevelChange;

                s_CurrentPowerLevel = pe.Level;

                if (h != null)
                {
                    h(pe);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// The ChangePowerLevel method enables the caller to adjust the current power level of the device.
        /// The behavior of the power levels are determined by the hardware vendor.  This method raises the
        /// OnPowerLevelChange event.
        /// </summary>
        /// <param name="level">Describes the power level for which the system should enter</param>
        public static void ChangePowerLevel(PowerLevel level)
        {
            if (s_CurrentPowerLevel == level)
            {
                return;
            }

            PowerLevelChangeEventHandler h = OnPowerLevelChange;

            if (h != null)
            {
                PowerEvent e = new PowerEvent();

                e.EventType = PowerEventType.PreNotify;
                e.Level     = level;
                e.Time      = DateTime.UtcNow;

                h(e);
            }

            InternalChangePowerLevel(level);

            s_CurrentPowerLevel = level;
        }