PowerManager/PowerManager.h
author StephaneLenclud
Thu, 24 Sep 2015 21:39:05 +0200
changeset 159 e7c8c2b500bd
child 160 de942d321cfb
permissions -rw-r--r--
Add PowerManager C++/CLI project.
Monitor Power On/Off notifications working.
Moving to .NET 4.6
     1 // PowerManager.h
     2 
     3 #pragma once
     4 
     5 using namespace System;
     6 using namespace System::Windows::Forms;
     7 
     8 namespace PowerManager
     9 {
    10     public delegate void PowerManagerDelegate();
    11 
    12 	public ref class PowerSettingNotifier
    13 	{
    14     public:
    15         PowerSettingNotifier(IntPtr aHandle, Boolean aService);
    16         PowerSettingNotifier(IntPtr aHandle);
    17         //
    18         void WndProc(Message% aMessage);
    19 
    20         event PowerManagerDelegate^ OnMonitorPowerOn
    21         {
    22             void add(PowerManagerDelegate^ d);
    23             void remove(PowerManagerDelegate^ d);
    24         private:
    25             void raise();
    26         }
    27 
    28         event PowerManagerDelegate^ OnMonitorPowerOff
    29         {
    30             void add(PowerManagerDelegate^ d);
    31             void remove(PowerManagerDelegate^ d);
    32         private:
    33             void raise();
    34         }
    35 
    36     private:
    37         void Construct(IntPtr aHandle, Boolean aService);
    38         //
    39         Boolean RegisterPowerSettingNotification(IntPtr aHandle, Boolean aService);
    40         Boolean RegisterPowerSettingNotification(IntPtr aHandle);
    41 
    42     private:
    43         PowerManagerDelegate^ iMonitorPowerOnDelegate;
    44         PowerManagerDelegate^ iMonitorPowerOffDelegate;
    45 
    46 
    47     private:
    48         /// Window or Service handle
    49         IntPtr iHandle;
    50         /// Specify whether we run as Window or a Service
    51         Boolean iIsService;
    52         ///
    53         int iMonitorPowerObserverCount;
    54 	};
    55 }