home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 3 / AACD03.BIN / AACD / Programming / ClassFree / CFsampleclass / class.c < prev    next >
C/C++ Source or Header  |  1998-04-12  |  840b  |  48 lines

  1. /* Sample class  for StormC*/
  2.  
  3. #include <clib/alib_protos.h>
  4. #include <clib/intuition_protos.h>
  5. #include <exec/libraries.h>
  6. #include <intuition/classes.h>
  7. #include <dos/dos.h>
  8. #include "class.h"
  9. #ifdef DEBUG
  10.  #include "debug_protos.h"
  11.  extern APTR console;
  12. #endif
  13.  
  14. Class *initclass(struct classbase *base)
  15. {
  16.   Class *cl;
  17.  
  18.   if(cl = MakeClass("testclass","rootclass",NULL,
  19.         /* Object instance data size */0,NULL))
  20.   {
  21.     cl->cl_Dispatcher.h_Entry = hookEntry;
  22.     cl->cl_Dispatcher.h_SubEntry = dispatcher;
  23.     AddClass(cl);
  24.   }
  25.   base->cl = cl;
  26.  
  27.   return(cl);
  28. }
  29.  
  30. BOOL removeclass(struct classbase *base)
  31. {
  32.   BOOL result;
  33.  
  34.   if(result = FreeClass(base->cl)) base->cl = NULL;
  35.  
  36.   return(result);
  37. }
  38.  
  39. ULONG dispatcher(Class *cl,Object *o,Msg msg)
  40. {
  41.   switch(msg->MethodID)
  42.   {
  43.     default:
  44.       return(DoSuperMethodA(cl,o,msg));
  45.   }
  46. }
  47.  
  48.