IOAudioControlUserClient.h [plain text]
#ifndef _IOKIT_IOAUDIOCONTROLUSERCLIENT_H
#define _IOKIT_IOAUDIOCONTROLUSERCLIENT_H
#include <IOKit/IOUserClient.h>
#include <IOKit/audio/IOAudioTypes.h>
class IOAudioControl;
class IOAudioControlUserClient : public IOUserClient
{
OSDeclareDefaultStructors(IOAudioControlUserClient)
protected:
task_t clientTask;
IOAudioControl * audioControl;
IOAudioNotificationMessage * notificationMessage;
IOExternalMethod methods[IOAUDIOCONTROL_NUM_CALLS];
virtual IOReturn clientClose();
virtual IOReturn clientDied();
virtual IOReturn setControlValue(UInt32 value);
virtual IOReturn getControlValue(UInt32 *value);
public:
static IOAudioControlUserClient *withAudioControl(IOAudioControl *control, task_t clientTask, void *securityID, UInt32 type);
virtual bool initWithAudioControl(IOAudioControl *control, task_t owningTask, void *securityID, UInt32 type);
virtual void free();
virtual IOExternalMethod *getExternalMethodForIndex(UInt32 index);
virtual IOReturn registerNotificationPort(mach_port_t port, UInt32 type, UInt32 refCon);
virtual IOReturn setProperties(OSObject *properties);
virtual void sendValueChangeNotification();
};
#endif