00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef OPENR_STUBGEN
00018 #define OPENR_STUBGEN
00019 #endif
00020
00021 #if defined(__GNUC__)
00022 #include <apsys.h>
00023 #endif
00024 #include <MCOOP.h>
00025 #include <ObjectEntryTable.h>
00026 #include <OPENR/stub_macro.h>
00027 #include "def.h"
00028 #include "entry.h"
00029 #include "SoundPlayStub.h"
00030
00031
00032
00033
00034 #include "SoundPlay.h"
00035 SoundPlay Self;
00036
00037
00038
00039
00040 StubFuncDefine_Basic(Init)
00041 StubFuncDefine_Basic(Start)
00042 StubFuncDefine_Basic(Stop)
00043 StubFuncDefine_Basic(Destroy)
00044 StubFuncDefine_Control_nofunc(0)
00045 StubFuncDefine_Ready(0, ReadySendSound)
00046 StubFuncDefine_Control_nofunc(1)
00047 StubFuncDefine_Ready(1, ReadyRegisterSoundManager)
00048 StubFuncDefine_Control_nofunc(2)
00049 StubFuncDefine_Ready_nofunc(2)
00050 StubFuncDefine_Connect_nofunc(0)
00051 StubFuncDefine_Notify(0, GotSoundMsg)
00052 StubFuncDefine_Connect_nofunc(1)
00053 StubFuncDefine_Notify(1, GotEventTranslatorQueue)
00054
00055
00056
00057
00058
00059
00060
00061
00062 #if defined(__GNUC__)
00063 GEN_ENTRY(_hookstub0, _Init);
00064 GEN_ENTRY(_hookstub1, _Start);
00065 GEN_ENTRY(_hookstub2, _Stop);
00066 GEN_ENTRY(_hookstub3, _Destroy);
00067 GEN_ENTRY(_controlstub0, _Control0);
00068 GEN_ENTRY(_readystub0, _Ready0);
00069 GEN_ENTRY(_controlstub1, _Control1);
00070 GEN_ENTRY(_readystub1, _Ready1);
00071 GEN_ENTRY(_controlstub2, _Control2);
00072 GEN_ENTRY(_readystub2, _Ready2);
00073 GEN_ENTRY(_connectstub0, _Connect0);
00074 GEN_ENTRY(_notifystub0, _Notify0);
00075 GEN_ENTRY(_connectstub1, _Connect1);
00076 GEN_ENTRY(_notifystub1, _Notify1);
00077 GEN_ENTRY(PrologueEntry, Prologue);
00078
00079 ObjectEntry ObjectEntryTable[] = {
00080 {Entry_Hook[0], (Entry)_hookstub0},
00081 {Entry_Hook[1], (Entry)_hookstub1},
00082 {Entry_Hook[2], (Entry)_hookstub2},
00083 {Entry_Hook[3], (Entry)_hookstub3},
00084 {Entry_Control[0], (Entry)_controlstub0},
00085 {Entry_Ready[0], (Entry)_readystub0},
00086 {Entry_Control[1], (Entry)_controlstub1},
00087 {Entry_Ready[1], (Entry)_readystub1},
00088 {Entry_Control[2], (Entry)_controlstub2},
00089 {Entry_Ready[2], (Entry)_readystub2},
00090 {Entry_Connect[0], (Entry)_connectstub0},
00091 {Entry_Notify[0], (Entry)_notifystub0},
00092 {Entry_Connect[1], (Entry)_connectstub1},
00093 {Entry_Notify[1], (Entry)_notifystub1},
00094 {UNDEF, (Entry) ENTRY_UNDEF}
00095 };
00096 #else
00097
00098
00099
00100
00101 _Hook _hook[numOfHook] = { _Hook(Init), _Hook(Start), _Hook(Stop), _Hook(Destroy) };
00102 _Control _control[numOfSubject] = { _Control(0), _Control(1), _Control(2) };
00103 _Ready _ready [numOfSubject] = { _Ready(0), _Ready(1), _Ready(2) };
00104 _Connect _connect[numOfObserver] = { _Connect(0), _Connect(1) };
00105 _Notify _notify [numOfObserver] = { _Notify(0), _Notify(1) };
00106
00107 ObjectEntry ObjectEntryTable[] = {
00108 {Entry_Hook[0], (Entry) _Hook(Init)},
00109 {Entry_Hook[1], (Entry) _Hook(Start)},
00110 {Entry_Hook[2], (Entry) _Hook(Stop)},
00111 {Entry_Hook[3], (Entry) _Hook(Destroy)},
00112 {Entry_Control[0], (Entry) _Control(0)},
00113 {Entry_Control[1], (Entry) _Control(1)},
00114 {Entry_Control[2], (Entry) _Control(2)},
00115 {Entry_Ready[0], (Entry) _Ready(0)},
00116 {Entry_Ready[1], (Entry) _Ready(1)},
00117 {Entry_Ready[2], (Entry) _Ready(2)},
00118 {Entry_Connect[0], (Entry) _Connect(0)},
00119 {Entry_Connect[1], (Entry) _Connect(1)},
00120 {Entry_Notify[0], (Entry) _Notify(0)},
00121 {Entry_Notify[1], (Entry) _Notify(1)},
00122 {UNDEF, (Entry) ENTRY_UNDEF}
00123 };
00124 #endif