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,
kSBSMBusReadWriteWord = 3
};
#define kNumBattMethods 4
enum {
kSBDefaultType = 0,
kSBExclusiveSMBusAccessType = 1
};
class AppleSmartBatteryManager;
class AppleSmartBatteryManagerUserClient : public IOUserClient
{
OSDeclareDefaultStructors(AppleSmartBatteryManagerUserClient)
friend class AppleSmartBatteryManager;
private:
AppleSmartBatteryManager * fOwner;
task_t fOwningTask;
uint8_t fUserClientType;
IOReturn secureInflowDisable(int level, int *return_code);
IOReturn secureChargeInhibit(int level, int *return_code);
public:
virtual IOReturn clientClose( void );
virtual IOReturn externalMethod( uint32_t selector,
IOExternalMethodArguments * arguments,
IOExternalMethodDispatch * dispatch = 0,
OSObject * targe = 0, void * reference = 0 );
virtual bool start( IOService * provider );
virtual bool initWithTask(task_t owningTask, void *security_id,
UInt32 type, OSDictionary * properties);
};
#endif