예제 #1
0
 private void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Resume:
         downloader.Refresh();
         break;
     }
 }
예제 #2
0
        static HandlerRoutine _controlHandler = null; // Keeps it from getting garbage collected (and null exception)

        private static void OnPowerChange(Object sender, PowerModeChangedEventArgs pe)
        {
            Log.WriteSystemEventLog("MCEBuddy engine app OnPowerChange called by System, Event -> " + pe.Mode.ToString(), EventLogEntryType.Information);

            switch (pe.Mode)
            {
            case PowerModes.Resume:
                try
                {
                    if (_pipeProxy.WithinConversionTimes())     // Resume only if we are within Conversion times else it will auto resume at the right time
                    {
                        _pipeProxy.SuspendConversion(false);    // Resume
                    }
                }
                catch (Exception e)
                {
                    Log.WriteSystemEventLog("MCEBuddy engine app: Error trying to resume MCEBuddy " + e.ToString(), EventLogEntryType.Warning);
                }
                break;

            case PowerModes.Suspend:
                try
                {
                    _pipeProxy.SuspendConversion(true);     // suspend and buffers are flushed when suspended
                }
                catch (Exception e)
                {
                    Log.WriteSystemEventLog("MCEBuddy engine app: Error trying to suspend MCEBuddy " + e.ToString(), EventLogEntryType.Warning);
                }

                break;

            case PowerModes.StatusChange:
                try
                {
                    Log.WriteSystemEventLog("MCEBuddy engine app: Power Status Change Notification, Power Status -> " + System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus.ToString(), EventLogEntryType.Information);

                    if (System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus == System.Windows.Forms.PowerLineStatus.Offline) // If we are on battery power
                    {
                        if (MCEBuddyConf.GlobalMCEConfig.GeneralOptions.suspendOnBattery)                                                   // If we are requested to Pause on battery power
                        {
                            _pipeProxy.SuspendConversion(true);                                                                             // Suspend it
                        }
                    }
                    else if (_pipeProxy.WithinConversionTimes()) // Resume only if we are within Conversion times else it will auto resume at the right time
                    {
                        _pipeProxy.SuspendConversion(false);     // Resume it (assume A/C power)
                    }
                }
                catch (Exception e)
                {
                    Log.WriteSystemEventLog("MCEBuddy engine app: Error trying to change suspend mode on Power Event in MCEBuddy " + e.ToString(), EventLogEntryType.Warning);
                }

                break;
            }
        }
예제 #3
0
 private void SystemEventsOnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Suspend:
         kernel.Get <IMediaPlayerController>().Pause();
         break;
     }
 }
 private void systemEventsPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (!e.Mode.Equals(PowerModes.Resume))
     {
         return;
     }
     shutdown();
     initialize();
 }
예제 #5
0
파일: App.xaml.cs 프로젝트: Dlizzz/Catspaw
        // Manage power events to switch on or off teh components
        private void PowerEventHandler(object sender, PowerModeChangedEventArgs e)
        {
            switch (e.Mode)
            {
            // Resuming the system
            case PowerModes.Resume:
                Log.Information("Hello again. I'm back to life!");

                // If we have a Tv, try to power it on. Report if it fails.
                try
                {
                    SamsungTv?.PowerOn();
                }
                catch (CecException err)
                {
                    Log.Error("Powering on TV set failed", err);
                }
                // If we have an Avr, try to power it on. Report if it fails.
                try
                {
                    PioneerAvr?.PowerOnAsync();
                }
                catch (AvrException err)
                {
                    Log.Error("Powering on AVR failed", err);
                }
                break;

            // Suspending the system
            case PowerModes.Suspend:
                Log.Information("Have a good night. I'm falling asleep... ");

                // If we have a Tv, try to power it off. Report if it fails.
                try
                {
                    SamsungTv?.PowerOff();
                }
                catch (CecException err)
                {
                    Log.Error("Powering off TV set failed", err);
                }
                // If we have an Avr, try to power it off. Report if it fails.
                try
                {
                    PioneerAvr?.PowerOffAsync();
                }
                catch (AvrException err)
                {
                    Log.Error("Powering off AVR failed", err);
                }
                break;

            // Nothing to do
            case PowerModes.StatusChange:
                break;
            }
        }
예제 #6
0
 /// <summary>
 /// Called when machine suspends, shuts down, etc.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Suspend:
         networkInterfaceSelector1.StopScan();
         break;
     }
 }
예제 #7
0
 // Listen for PowerMode change event
 private void OnPowerChange(object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Resume:
         OnMonitorStateChange();
         break;
     }
 }
예제 #8
0
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume)
     {
         New.Dispose();
         New = new Task(() => OnStart(null));
         New.Start();
     }
 }
예제 #9
0
 void OnPowerChange(Object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Suspend:
         Model.NoteMenuContext.SelectedNote.SaveNote();
         break;
     }
 }
예제 #10
0
 private static void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Suspend:
         SaveConfiguration();
         break;
     }
 }
예제 #11
0
 private static void SystemEvents_PowerModeChanged(object sender,
                                                   PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume)
     {
         Console.WriteLine("-----------------------I weak from resume--program.css");
         form.reload();
     }
 }
예제 #12
0
        //void SystemEvents_EventsThreadShutdown(object sender, EventArgs e)
        //{
        //    UnregisterFromSystemEvents();
        //}

        static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            if (e.Mode == PowerModes.Resume)
            {
                Global.speech.engine.initialize();
                Global.speech.LoadInitialGrammars();
                Feedback.print("Resumed from standby.\r\n", Feedback.Status.story);
            }
        }
예제 #13
0
 private static void OnPowerChange(object s, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Resume:
         Process.GetCurrentProcess().Suspend();
         break;
     }
 }
예제 #14
0
 void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode != PowerModes.Resume)
     {
         return;                              // restart app on wakeup
     }
     Application.Restart();
     Application.Exit();
 }
예제 #15
0
        void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            _logger.Info("Power mode changed to {0}", e.Mode);

            if (e.Mode == PowerModes.Resume)
            {
                _timerProvider.RestartTimers();
            }
        }
예제 #16
0
 private static void OnPowerChange(object s, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Resume:
         Restart();
         break;
     }
 }
예제 #17
0
        private void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            // while(lock_flag)
            // {
            lock_flag = false;
            //Beep(0X5FF, 1000);

            //}
        }
예제 #18
0
        void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            switch (e.Mode)
            {
            case PowerModes.Resume:
                GuiLogMessage("Computer resuming!", NotificationLevel.Info);
                ReexecuteSuspendedEditors();
                break;

            case PowerModes.Suspend:
                GuiLogMessage("Computer suspending!", NotificationLevel.Info);

                //Stop all workspaces:
                runningEditorsOnSuspend = new List <IEditor>();
                foreach (var editor in editorToFileMap.Keys)
                {
                    if (editor.CanStop)
                    {
                        editor.Stop();
                        runningEditorsOnSuspend.Add(editor);
                    }
                }
                break;

            case PowerModes.StatusChange:
                if (Settings.Default.StopWorkspaces)
                {
                    Boolean isRunningOnBattery = (System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Offline);
                    if (isRunningOnBattery)
                    {
                        if (!runOnBattery)
                        {
                            bool stopped = false;
                            foreach (var editor in editorToFileMap.Keys)
                            {
                                if (editor.CanStop)
                                {
                                    stopped = true;
                                    editor.Stop();
                                }
                            }
                            if (stopped)
                            {
                                GuiLogMessage("Power mode offline: Stopped workspaces to save power.", NotificationLevel.Info);
                            }
                            runOnBattery = true;
                        }
                    }
                    else
                    {
                        runOnBattery = false;
                    }
                }
                break;
            }
        }
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume || e.Mode == PowerModes.Suspend)
     {
         lock (_suspendTimer)
         {
             _suspendTimer.Change(Timeout.Infinite, Timeout.Infinite);
         }
     }
 }
예제 #20
0
 void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume)
     {
         if (ResumeFromSleep != null)
         {
             ResumeFromSleep(this, EventArgs.Empty);
         }
     }
 }
예제 #21
0
        private void WakeUpHandler(object sender, PowerModeChangedEventArgs e)
        {
            // clean up potentially stuck threads / reinitiate app

            if (e.Mode == PowerModes.Resume)
            {
                _log.Information(LogHelper.GetMethodName(this), "PC woke up - RESTART");
                Application.Restart();
            }
        }
예제 #22
0
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     //if (e.Mode == Microsoft.Win32.PowerModes.StatusChange)
     //{
     //    if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Offline)
     //    {
     //        MessageBox.Show("No Power, using Batery!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     //    }
     //}
 }
예제 #23
0
 private void OnPowerChange(object s, PowerModeChangedEventArgs e)
 {
     switch (e.Mode)
     {
     case PowerModes.Resume:
         nanoID = -1;
         NanoFind();
         break;
     }
 }
예제 #24
0
 private void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode != PowerModes.Suspend)
     {
         return;
     }
     _caseBeforePause = TrackedCase;
     TrackedCase      = null;
     SetState(new StatePaused(this));
 }
예제 #25
0
        /// <summary>
        /// Handles the PowerModeChanged event of the SystemEvents control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="PowerModeChangedEventArgs" /> instance containing the event data.</param>
        async void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            if (e.Mode == PowerModes.Resume && SystemEvent == SystemEvent.WakeFromSleep)
            {
                // This value is a bit arbitrary, but add a delay to help ensure network connections have been restored before running the task
                await Task.Delay(10000).ConfigureAwait(false);

                OnTriggered();
            }
        }
예제 #26
0
        void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
        {
            switch (e.Mode)
            {
            case PowerModes.Resume: Start(); break;

            case PowerModes.Suspend: Stop(); break;
            }
            Log.Write("P2pProxy is " + e.Mode, TypeMessage.Info);
        }
예제 #27
0
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     SetPowerStatus();
     ShowPowerStatus();
     if (Offline)
     {
         logger.Info("Shutting down Windows.");
         Utility.Shutdown();
     }
 }
예제 #28
0
 private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume)
     {
         if (SettingsManager.Get <bool>("searchForUpdatesAfterResume"))
         {
             doVersionCheck(false);
         }
     }
 }
예제 #29
0
 void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Resume)
     {
         for (int i = 0; i < data.Count; ++i)
         {
             data[i].OnPowerModeChange();
         }
     }
 }
예제 #30
0
 private void SystemEventsOnPowerModeChanged(object sender, PowerModeChangedEventArgs e)
 {
     if (e.Mode == PowerModes.Suspend)
     {
         Toggl.SetSleep();
     }
     else if (e.Mode == PowerModes.Resume)
     {
         Toggl.SetWake();
     }
 }