00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <MCOOP.h>
00013 #include <ObjectEntryTable.h>
00014 #include <apsys.h>
00015 #include "Crash.h"
00016
00017 Crash Self;
00018
00019
00020
00021
00022 extern "C" void
00023 InitStub(OReasonMessage* reasonMsg)
00024 {
00025 Self.Init( OSystemEvent(reasonMsg->reason,
00026 reasonMsg->param, reasonMsg->paramSize) );
00027 Return();
00028 }
00029
00030 extern "C" void
00031 StartStub(OReasonMessage* reasonMsg)
00032 {
00033 Self.Start( OSystemEvent(reasonMsg->reason,
00034 reasonMsg->param, reasonMsg->paramSize) );
00035 Return();
00036 }
00037
00038 extern "C" void
00039 StopStub(OReasonMessage* reasonMsg)
00040 {
00041 Self.Stop( OSystemEvent(reasonMsg->reason,
00042 reasonMsg->param, reasonMsg->paramSize) );
00043 Return();
00044 }
00045
00046 extern "C" void
00047 DestroyStub(OReasonMessage* reasonMsg)
00048 {
00049 Self.Destroy( OSystemEvent(reasonMsg->reason,
00050 reasonMsg->param, reasonMsg->paramSize) );
00051 Return();
00052 }
00053
00054
00055
00056
00057 GEN_ENTRY(InitEntry, InitStub);
00058 GEN_ENTRY(StartEntry, StartStub);
00059 GEN_ENTRY(StopEntry, StopStub);
00060 GEN_ENTRY(DestroyEntry, DestroyStub);
00061 GEN_ENTRY(PrologueEntry, Prologue);
00062
00063 ObjectEntry ObjectEntryTable[] = {
00064 {oentryINIT, (Entry)InitEntry},
00065 {oentrySTART, (Entry)StartEntry},
00066 {oentrySTOP, (Entry)StopEntry},
00067 {oentryDESTROY, (Entry)DestroyEntry},
00068 {UNDEF, (Entry) ENTRY_UNDEF}
00069 };