home *** CD-ROM | disk | FTP | other *** search
- #include <classes/BOOPSI/boopsiclass.h>
-
- #pragma -
- #include <pragma/intuition_lib.h>
- #include <clib/alib_protos.h>
- #pragma +
-
- extern "C" ULONG HookEntry();
-
- BoopsiClass::BoopsiClass(UWORD instanceSize, ULONG (*dispatcher) (),
- STRPTR pubSuperClass, Class *privSuperClass,
- STRPTR pubName, ULONG flags)
- : ShareC()
- {
- boopsi = MakeClass(pubName,pubSuperClass,privSuperClass,instanceSize,flags);
- if (!boopsi)
- throw BoopsiClassX();
- boopsi->cl_Dispatcher.h_Entry = HookEntry;
- boopsi->cl_Dispatcher.h_SubEntry = dispatcher;
- }
-
- BoopsiClass::BoopsiClass(const BoopsiClass &s)
- : ShareC(s)
- {
- boopsi = s.boopsi;
- }
-
- BoopsiClass::~BoopsiClass()
- {
- if (only())
- FreeClass(boopsi);
- }
-
- BoopsiClass &BoopsiClass::operator= (const BoopsiClass &s)
- {
- if (this != &s)
- {
- if (only())
- FreeClass(boopsi);
- ShareC::operator= (s);
- boopsi = s.boopsi;
- };
- return *this;
- }
-