AppleSmartBatteryManagerUserClient.h [plain text]
#ifndef __AppleSmartBatteryManagerUserClient__
#define __AppleSmartBatteryManagerUserClient__
#include <IOKit/IOUserClient.h>
#include <IOKit/pwr_mgt/IOPMPowerSource.h>
#include "AppleSmartBatteryManager.h"
enum {
kSBInflowDisable = 0,
kSBChargeInhibit = 1,
kSBSetPollingInterval = 2
};
#define kNumBattMethods 3
class AppleSmartBatteryManager;
class AppleSmartBatteryManagerUserClient : public IOUserClient
{
OSDeclareDefaultStructors(AppleSmartBatteryManagerUserClient)
friend class AppleSmartBatteryManager;
private:
AppleSmartBatteryManager * fOwner;
task_t fOwningTask;
IOReturn secureInflowDisable(int level, int *return_code);
IOReturn secureChargeInhibit(int level, int *return_code);
public:
virtual IOReturn clientClose( void );
virtual IOExternalMethod * getTargetAndMethodForIndex(
IOService ** targetP, UInt32 index );
virtual bool start( IOService * provider );
virtual bool initWithTask(task_t owningTask, void *security_id,
UInt32 type, OSDictionary * properties);
};
#endif