IOFireWireSBP2LibMgmtORB.h [plain text]
#ifndef _IOKIT_IOFIREWIRESBP2LIBMGMTORB_H_
#define _IOKIT_IOFIREWIRESBP2LIBMGMTORB_H_
#include "IOFireWireSBP2LibLUN.h"
#include "IOFireWireSBP2UserClientCommon.h"
class IOFireWireSBP2LibMgmtORB
{
public:
struct InterfaceMap
{
IUnknownVTbl *pseudoVTable;
IOFireWireSBP2LibMgmtORB *obj;
};
IOFireWireSBP2LibMgmtORB( void );
virtual ~IOFireWireSBP2LibMgmtORB();
virtual IOReturn init( io_connect_t connection, mach_port_t asyncPort );
protected:
static IOFireWireSBP2LibMgmtORBInterface sIOFireWireSBP2LibMgmtORBInterface;
InterfaceMap fIOFireWireSBP2LibMgmtORBInterface;
UInt32 fRefCount;
io_connect_t fConnection; mach_port_t fAsyncPort; UInt32 fMgmtORBRef;
IOFWSBP2ORBAppendCallback fORBCallbackRoutine;
void * fORBCallbackRefCon;
UInt32 fRefCon;
static inline IOFireWireSBP2LibMgmtORB *getThis( void *self )
{ return (IOFireWireSBP2LibMgmtORB *) ((InterfaceMap *) self)->obj; };
static HRESULT staticQueryInterface( void * self, REFIID iid, void **ppv );
virtual HRESULT queryInterface( REFIID iid, void **ppv );
static UInt32 staticAddRef( void * self );
virtual UInt32 addRef( void );
static UInt32 staticRelease( void * self );
virtual UInt32 release( void );
static IOReturn staticSubmitORB( void * self );
virtual IOReturn submitORB( void );
static void staticSetORBCallback( void * self, void * refCon,
IOFWSBP2ORBAppendCallback callback );
virtual void setORBCallback( void * refCon, IOFWSBP2ORBAppendCallback callback );
static void staticSetRefCon( void * self, UInt32 refCon );
virtual void setRefCon( UInt32 refCon );
static UInt32 staticGetRefCon( void * self );
virtual UInt32 getRefCon( void );
static IOReturn staticSetCommandFunction( void * self, UInt32 function );
virtual IOReturn setCommandFunction( UInt32 function );
static IOReturn staticSetManageeORB( void * self, void * orb );
virtual IOReturn setManageeORB( void * orb );
static IOReturn staticSetManageeLogin( void * self, void * login );
virtual IOReturn setManageeLogin( void * login );
static IOReturn staticSetResponseBuffer( void * self, void * buf, UInt32 len );
virtual IOReturn setResponseBuffer( void * buf, UInt32 len );
static void staticORBCompletion( void *refcon, IOReturn result, void * arg0 );
virtual void ORBCompletion( IOReturn result, void * arg0 );
public:
static IUnknownVTbl **alloc( io_connect_t connection, mach_port_t asyncPort );
};
#endif