00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _CATOpenALIntercept_H_
00014 #define _CATOpenALIntercept_H_
00015
00016 #include "CATIntercept.h"
00017 #ifdef CAT_CONFIG_WIN32
00018
00019
00020
00021
00022 class CATOpenALIntercept : public CATIntercept
00023 {
00024 public:
00025 CATOpenALIntercept();
00026 virtual ~CATOpenALIntercept();
00027
00028 CATResult HookFunctions();
00029
00030
00031
00032
00033 static void OnALSourcePlay( CATHOOK* hookInst,
00034 CATUInt32 sourceId);
00035
00036 static void OnALSourcePlayV( CATHOOK* hookInst,
00037 CATInt32 numSources,
00038 CATUInt32* sourceIds);
00039
00040 static void OnALSourceStop( CATHOOK* hookInst,
00041 CATUInt32 sourceId);
00042
00043 static void OnALSourceStopV( CATHOOK* hookInst,
00044 CATInt32 numSources,
00045 CATUInt32* sourceIds);
00046
00047 static void OnALQueueBuffers( CATHOOK* hookInst,
00048 CATUInt32 sourceId,
00049 CATInt32 numEntries,
00050 CATUInt32* bufferIds);
00051
00052 static void OnALBufferData( CATHOOK* hookInst,
00053 CATUInt32 bufferId,
00054 CATUInt32 format,
00055 void* data,
00056 CATInt32 size,
00057 CATInt32 frequency);
00058
00059 protected:
00060 HMODULE fOpenALDLL;
00061 };
00062
00063 #endif // CAT_CONFIG_WIN32
00064 #endif // _CATOpenALIntercept_H_