home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / timerev.xh < prev    next >
Text File  |  1999-02-22  |  26KB  |  876 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: timerev.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somu
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMETimerEvent_xh
  26. #define SOM_SOMETimerEvent_xh
  27.  
  28. class SOMETimerEvent;
  29.  
  30. /*
  31.  *  SOMETimerEvent is the class for generic timer events within the Event Manager.
  32.  *  This class should be queried for events of the following type(s):
  33.  *       EMTimerEvent
  34.  *  An instance of this class is initialized and passed to the callback
  35.  *  of a timer event.
  36.  */
  37.  
  38. #define SOMETimerEvent_MajorVersion 2
  39. #define SOMETimerEvent_MinorVersion 1
  40.  
  41. /* C++ SOM defs */
  42. #include <somcls.xh>
  43. #include <somcm.xh>
  44.  
  45. /* C++ parent defs */
  46. #ifndef SOM_SOMEEvent_xh
  47. #include <event.xh>
  48. #endif
  49.  
  50. #ifndef SOMETimerEvent_API
  51. #define SOMETimerEvent_API
  52. /*
  53.  * -- The Class API
  54.  */
  55.  
  56. /*
  57.  * Start of bindings for IDL types
  58.  */
  59.  
  60. class SOMClass;
  61. class SOMObject;
  62.  
  63. /*
  64.  * End of bindings for IDL types.
  65.  */
  66.  
  67. /* A procedure to create the SOMETimerEvent Class */
  68. SOMEXTERN SOMClass * SOMLINK SOMETimerEventNewClass(
  69.         integer4 majorVersion,
  70.         integer4 minorVersion);
  71.  
  72. /* The API to the SOMETimerEvent class object, and the methods it introduces. */
  73. SOMEXTERN struct SOMETimerEventClassDataStructure {
  74.     SOMClass *classObject;
  75.     somMToken somevGetEventInterval;
  76.     somMToken somevSetEventInterval;
  77. } SOMDLINK SOMETimerEventClassData;
  78. #define _SOMETimerEvent SOMETimerEventClassData.classObject
  79.  
  80. /* The API to parentMtabs for SOMETimerEvent, and the instance data it introduces. */
  81. SOMEXTERN struct SOMETimerEventCClassDataStructure {
  82.     somMethodTabs parentMtab;
  83.     somDToken              instanceDataToken;
  84. } SOMDLINK SOMETimerEventCClassData;
  85.  
  86. /*
  87.  * -- Typedefs for SOMETimerEvent Method Procedures
  88.  */
  89. SOMEXTERN {
  90. typedef long   SOMLINK somTP_SOMETimerEvent_somevGetEventInterval(SOMETimerEvent *somSelf, Environment *ev);
  91. typedef somTP_SOMETimerEvent_somevGetEventInterval *somTD_SOMETimerEvent_somevGetEventInterval;
  92. typedef void   SOMLINK somTP_SOMETimerEvent_somevSetEventInterval(SOMETimerEvent *somSelf, Environment *ev, 
  93.         long interval);
  94. typedef somTP_SOMETimerEvent_somevSetEventInterval *somTD_SOMETimerEvent_somevSetEventInterval;
  95.  
  96. /*
  97.  * -- Typedefs for Reintroduced Wrapper Methods
  98.  */
  99. typedef unsigned long   SOMLINK somTP_SOMETimerEvent_somevGetEventTime(SOMETimerEvent *somSelf, Environment *ev);
  100. typedef somTP_SOMETimerEvent_somevGetEventTime *somTD_SOMETimerEvent_somevGetEventTime;
  101. typedef unsigned long   SOMLINK somTP_SOMETimerEvent_somevGetEventType(SOMETimerEvent *somSelf, Environment *ev);
  102. typedef somTP_SOMETimerEvent_somevGetEventType *somTD_SOMETimerEvent_somevGetEventType;
  103. typedef void   SOMLINK somTP_SOMETimerEvent_somevSetEventTime(SOMETimerEvent *somSelf, Environment *ev, 
  104.         unsigned long time);
  105. typedef somTP_SOMETimerEvent_somevSetEventTime *somTD_SOMETimerEvent_somevSetEventTime;
  106. typedef void   SOMLINK somTP_SOMETimerEvent_somevSetEventType(SOMETimerEvent *somSelf, Environment *ev, 
  107.         unsigned long type);
  108. typedef somTP_SOMETimerEvent_somevSetEventType *somTD_SOMETimerEvent_somevSetEventType;
  109. typedef void   SOMLINK somTP_SOMETimerEvent_somInit(SOMETimerEvent *somSelf);
  110. typedef somTP_SOMETimerEvent_somInit *somTD_SOMETimerEvent_somInit;
  111. typedef void   SOMLINK somTP_SOMETimerEvent_somDefaultInit(SOMETimerEvent *somSelf, 
  112.         som3InitCtrl* ctrl);
  113. typedef somTP_SOMETimerEvent_somDefaultInit *somTD_SOMETimerEvent_somDefaultInit;
  114. typedef void   SOMLINK somTP_SOMETimerEvent_somDestruct(SOMETimerEvent *somSelf, 
  115.         octet doFree, 
  116.         som3DestructCtrl* ctrl);
  117. typedef somTP_SOMETimerEvent_somDestruct *somTD_SOMETimerEvent_somDestruct;
  118. typedef void   SOMLINK somTP_SOMETimerEvent_somDefaultCopyInit(SOMETimerEvent *somSelf, 
  119.         som3InitCtrl* ctrl, 
  120.         SOMObject* fromObj);
  121. typedef somTP_SOMETimerEvent_somDefaultCopyInit *somTD_SOMETimerEvent_somDefaultCopyInit;
  122. typedef SOMETimerEvent*   SOMLINK somTP_SOMETimerEvent_somDefaultAssign(SOMETimerEvent *somSelf, 
  123.         som3AssignCtrl* ctrl, 
  124.         SOMObject* fromObj);
  125. typedef somTP_SOMETimerEvent_somDefaultAssign *somTD_SOMETimerEvent_somDefaultAssign;
  126. typedef void   SOMLINK somTP_SOMETimerEvent_somDefaultConstCopyInit(SOMETimerEvent *somSelf, 
  127.         som3InitCtrl* ctrl, 
  128.         SOMObject* fromObj);
  129. typedef somTP_SOMETimerEvent_somDefaultConstCopyInit *somTD_SOMETimerEvent_somDefaultConstCopyInit;
  130. typedef void   SOMLINK somTP_SOMETimerEvent_somDefaultVCopyInit(SOMETimerEvent *somSelf, 
  131.         som3InitCtrl* ctrl, 
  132.         SOMObject* fromObj);
  133. typedef somTP_SOMETimerEvent_somDefaultVCopyInit *somTD_SOMETimerEvent_somDefaultVCopyInit;
  134. typedef void   SOMLINK somTP_SOMETimerEvent_somDefaultConstVCopyInit(SOMETimerEvent *somSelf, 
  135.         som3InitCtrl* ctrl, 
  136.         SOMObject* fromObj);
  137. typedef somTP_SOMETimerEvent_somDefaultConstVCopyInit *somTD_SOMETimerEvent_somDefaultConstVCopyInit;
  138. typedef SOMETimerEvent*   SOMLINK somTP_SOMETimerEvent_somDefaultConstAssign(SOMETimerEvent *somSelf, 
  139.         som3AssignCtrl* ctrl, 
  140.         SOMObject* fromObj);
  141. typedef somTP_SOMETimerEvent_somDefaultConstAssign *somTD_SOMETimerEvent_somDefaultConstAssign;
  142. typedef SOMETimerEvent*   SOMLINK somTP_SOMETimerEvent_somDefaultVAssign(SOMETimerEvent *somSelf, 
  143.         som3AssignCtrl* ctrl, 
  144.         SOMObject* fromObj);
  145. typedef somTP_SOMETimerEvent_somDefaultVAssign *somTD_SOMETimerEvent_somDefaultVAssign;
  146. typedef SOMETimerEvent*   SOMLINK somTP_SOMETimerEvent_somDefaultConstVAssign(SOMETimerEvent *somSelf, 
  147.         som3AssignCtrl* ctrl, 
  148.         SOMObject* fromObj);
  149. typedef somTP_SOMETimerEvent_somDefaultConstVAssign *somTD_SOMETimerEvent_somDefaultConstVAssign;
  150. typedef void   SOMLINK somTP_SOMETimerEvent_somFree(SOMETimerEvent *somSelf);
  151. typedef somTP_SOMETimerEvent_somFree *somTD_SOMETimerEvent_somFree;
  152. typedef void   SOMLINK somTP_SOMETimerEvent_somUninit(SOMETimerEvent *somSelf);
  153. typedef somTP_SOMETimerEvent_somUninit *somTD_SOMETimerEvent_somUninit;
  154. typedef SOMClass*   SOMLINK somTP_SOMETimerEvent_somGetClass(SOMETimerEvent *somSelf);
  155. typedef somTP_SOMETimerEvent_somGetClass *somTD_SOMETimerEvent_somGetClass;
  156. typedef string   SOMLINK somTP_SOMETimerEvent_somGetClassName(SOMETimerEvent *somSelf);
  157. typedef somTP_SOMETimerEvent_somGetClassName *somTD_SOMETimerEvent_somGetClassName;
  158. typedef long   SOMLINK somTP_SOMETimerEvent_somGetSize(SOMETimerEvent *somSelf);
  159. typedef somTP_SOMETimerEvent_somGetSize *somTD_SOMETimerEvent_somGetSize;
  160. typedef boolean   SOMLINK somTP_SOMETimerEvent_somIsA(SOMETimerEvent *somSelf, 
  161.         SOMClass* aClassObj);
  162. typedef somTP_SOMETimerEvent_somIsA *somTD_SOMETimerEvent_somIsA;
  163. typedef boolean   SOMLINK somTP_SOMETimerEvent_somIsInstanceOf(SOMETimerEvent *somSelf, 
  164.         SOMClass* aClassObj);
  165. typedef somTP_SOMETimerEvent_somIsInstanceOf *somTD_SOMETimerEvent_somIsInstanceOf;
  166. typedef boolean   SOMLINK somTP_SOMETimerEvent_somRespondsTo(SOMETimerEvent *somSelf, 
  167.         somId mId);
  168. typedef somTP_SOMETimerEvent_somRespondsTo *somTD_SOMETimerEvent_somRespondsTo;
  169. typedef boolean   SOMLINK somTP_SOMETimerEvent_somDispatch(SOMETimerEvent *somSelf, 
  170.         somToken* retValue, 
  171.         somId methodId, 
  172.         va_list ap);
  173. typedef somTP_SOMETimerEvent_somDispatch *somTD_SOMETimerEvent_somDispatch;
  174. typedef boolean   SOMLINK somTP_SOMETimerEvent_somClassDispatch(SOMETimerEvent *somSelf, 
  175.         SOMClass* clsObj, 
  176.         somToken* retValue, 
  177.         somId methodId, 
  178.         va_list ap);
  179. typedef somTP_SOMETimerEvent_somClassDispatch *somTD_SOMETimerEvent_somClassDispatch;
  180. typedef boolean   SOMLINK somTP_SOMETimerEvent_somCastObj(SOMETimerEvent *somSelf, 
  181.         SOMClass* cls);
  182. typedef somTP_SOMETimerEvent_somCastObj *somTD_SOMETimerEvent_somCastObj;
  183. typedef boolean   SOMLINK somTP_SOMETimerEvent_somResetObj(SOMETimerEvent *somSelf);
  184. typedef somTP_SOMETimerEvent_somResetObj *somTD_SOMETimerEvent_somResetObj;
  185. typedef void   SOMLINK somTP_SOMETimerEvent_somDispatchV(SOMETimerEvent *somSelf, 
  186.         somId methodId, 
  187.         somId descriptor, 
  188.         va_list ap);
  189. typedef somTP_SOMETimerEvent_somDispatchV *somTD_SOMETimerEvent_somDispatchV;
  190. typedef long   SOMLINK somTP_SOMETimerEvent_somDispatchL(SOMETimerEvent *somSelf, 
  191.         somId methodId, 
  192.         somId descriptor, 
  193.         va_list ap);
  194. typedef somTP_SOMETimerEvent_somDispatchL *somTD_SOMETimerEvent_somDispatchL;
  195. typedef void*   SOMLINK somTP_SOMETimerEvent_somDispatchA(SOMETimerEvent *somSelf, 
  196.         somId methodId, 
  197.         somId descriptor, 
  198.         va_list ap);
  199. typedef somTP_SOMETimerEvent_somDispatchA *somTD_SOMETimerEvent_somDispatchA;
  200. typedef double   SOMLINK somTP_SOMETimerEvent_somDispatchD(SOMETimerEvent *somSelf, 
  201.         somId methodId, 
  202.         somId descriptor, 
  203.         va_list ap);
  204. typedef somTP_SOMETimerEvent_somDispatchD *somTD_SOMETimerEvent_somDispatchD;
  205. typedef SOMObject*   SOMLINK somTP_SOMETimerEvent_somPrintSelf(SOMETimerEvent *somSelf);
  206. typedef somTP_SOMETimerEvent_somPrintSelf *somTD_SOMETimerEvent_somPrintSelf;
  207. typedef void   SOMLINK somTP_SOMETimerEvent_somDumpSelf(SOMETimerEvent *somSelf, 
  208.         long level);
  209. typedef somTP_SOMETimerEvent_somDumpSelf *somTD_SOMETimerEvent_somDumpSelf;
  210. typedef void   SOMLINK somTP_SOMETimerEvent_somDumpSelfInt(SOMETimerEvent *somSelf, 
  211.         long level);
  212. typedef somTP_SOMETimerEvent_somDumpSelfInt *somTD_SOMETimerEvent_somDumpSelfInt;
  213. }
  214.  
  215. #endif /* SOMETimerEvent_API */
  216.  
  217.  
  218. /*
  219.  * -- This emitter treats Method Tokens as Thunks by default.
  220.  * -- Use the sc modifier "nothunks" to change this default
  221.  */
  222. #undef somresolve_
  223. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  224.  
  225. /*
  226.  * -- The C++ Wrapper Class for SOMETimerEvent
  227.  */
  228. class SOMETimerEvent : public SOMEEvent
  229. {
  230. /*
  231.  *  SOMETimerEvent is the class for generic timer events within the Event Manager.
  232.  *  This class should be queried for events of the following type(s):
  233.  *       EMTimerEvent
  234.  *  An instance of this class is initialized and passed to the callback
  235.  *  of a timer event.
  236.  */
  237. public:
  238.  
  239. // SOMETimerEvent::new creates the class object if necessary, and then uses somNewNoInit
  240. // to allocate memory and create the object. Initialization is in ctors.
  241. void *operator new(size_t)
  242. {
  243.    if (!_SOMETimerEvent) SOMETimerEventNewClass(SOMETimerEvent_MajorVersion,SOMETimerEvent_MinorVersion);
  244.    return (void*)
  245.       SOM_Resolve(_SOMETimerEvent,SOMClass,somNewNoInit)
  246.          ((SOMClass *)((void*)_SOMETimerEvent));
  247. }
  248.  
  249. // SOMETimerEvent::delete uses somDestruct.
  250. void operator delete(void * obj)
  251. {
  252.    if (obj && *(void**)obj) {
  253.       SOM_Resolve(obj,SOMObject,somFree)
  254.          ((SOMObject*)obj);
  255.    }
  256. }
  257.  
  258. SOMETimerEvent& operator=(SOMETimerEvent& fromObj)
  259. {
  260.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  261.    return *this;
  262. }
  263.  
  264. SOMETimerEvent()
  265. {
  266.    if (*(void**)this != 
  267.        ((somParentMtabStructPtr)
  268.         (SOMETimerEventCClassData.parentMtab))->mtab)
  269.       return;
  270.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  271. }
  272.  
  273. SOMETimerEvent(SOMETimerEvent* fromObj)
  274. {
  275.    if (*(void**)this != 
  276.        ((somParentMtabStructPtr)
  277.         (SOMETimerEventCClassData.parentMtab))->mtab)
  278.       return;
  279.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  280. }
  281.  
  282. #ifdef __IBMCPP__
  283. #pragma info(nocnv,nopar)
  284. #endif
  285. SOMETimerEvent(const SOMETimerEvent* fromObj)
  286. {
  287.    if (*(void**)this != 
  288.        ((somParentMtabStructPtr)
  289.         (SOMETimerEventCClassData.parentMtab))->mtab)
  290.       return;
  291.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  292. }
  293. #ifdef __IBMCPP__
  294. #pragma info(restore)
  295. #endif
  296.  
  297.  
  298. /* method: somevGetEventInterval */
  299. long   somevGetEventInterval(Environment *ev)
  300. {
  301. /*
  302.  *  Returns the interval of the generic timer event (time in milliseconds)
  303.  */
  304.    return SOM_ResolveD(this,SOMETimerEvent,SOMETimerEvent,somevGetEventInterval)
  305.     (this, ev);
  306. }
  307.  
  308.  
  309. /* method: somevSetEventInterval */
  310. void   somevSetEventInterval(Environment *ev, 
  311.         long interval)
  312. {
  313. /*
  314.  *  Sets the interval of the generic timer event (time in milliseconds)
  315.  */
  316.    SOM_ResolveD(this,SOMETimerEvent,SOMETimerEvent,somevSetEventInterval)
  317.     (this, ev,interval);
  318. }
  319.  
  320.  
  321. /*
  322.  * Reintroduce inherited methods
  323.  */
  324.  
  325. /* method: somevGetEventTime */
  326. unsigned long   somevGetEventTime(Environment *ev)
  327. {
  328. /*
  329.  *  Returns the time of the generic event in milliseconds
  330.  */
  331.    return SOM_ResolveD(this,SOMETimerEvent,SOMEEvent,somevGetEventTime)
  332.     (this, ev);
  333. }
  334.  
  335.  
  336. /* method: somevGetEventType */
  337. unsigned long   somevGetEventType(Environment *ev)
  338. {
  339. /*
  340.  *  Returns the type of generic event
  341.  */
  342.    return SOM_ResolveD(this,SOMETimerEvent,SOMEEvent,somevGetEventType)
  343.     (this, ev);
  344. }
  345.  
  346.  
  347. /* method: somevSetEventTime */
  348. void   somevSetEventTime(Environment *ev, 
  349.         unsigned long time)
  350. {
  351. /*
  352.  *  Sets the time of the generic event (time is in milliseconds)
  353.  */
  354.    SOM_ResolveD(this,SOMETimerEvent,SOMEEvent,somevSetEventTime)
  355.     (this, ev,time);
  356. }
  357.  
  358.  
  359. /* method: somevSetEventType */
  360. void   somevSetEventType(Environment *ev, 
  361.         unsigned long type)
  362. {
  363. /*
  364.  *  Sets the type of generic event
  365.  */
  366.    SOM_ResolveD(this,SOMETimerEvent,SOMEEvent,somevSetEventType)
  367.     (this, ev,type);
  368. }
  369.  
  370.  
  371. /* method: somInit */
  372. void   somInit()
  373. {
  374.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somInit)
  375.     (this);
  376. }
  377.  
  378.  
  379. /* initializer method: somDefaultInit */
  380. void   somDefaultInit(som3InitCtrl* ctrl)
  381. {
  382. /*
  383.  *  A default initializer for a SOM object. Passing a null ctrl
  384.  *  indicates to the receiver that its class is the class of the
  385.  *  object being initialized, whereby the initializer will determine
  386.  *  an appropriate control structure.
  387.  */
  388.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultInit)
  389.     (this,ctrl);
  390. }
  391.  
  392.  
  393. /* method: somDestruct */
  394. void   somDestruct(octet doFree, 
  395.         som3DestructCtrl* ctrl)
  396. {
  397. /*
  398.  *  The default destructor for a SOM object. A nonzero <doFree>
  399.  *  indicates that the object storage should be freed by the
  400.  *  object's class (via somDeallocate) after uninitialization.
  401.  *  As with somDefaultInit, a null ctrl can be passed.
  402.  */
  403.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDestruct)
  404.     (this,doFree,ctrl);
  405. }
  406.  
  407.  
  408. /* initializer method: somDefaultCopyInit */
  409. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  410.         SOMObject* fromObj)
  411. {
  412. /*
  413.  *  A default copy constructor. Use this to make copies of objects for
  414.  *  calling methods with "by-value" argument semantics.
  415.  */
  416.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultCopyInit)
  417.     (this,ctrl,fromObj);
  418. }
  419.  
  420.  
  421. /* method: somDefaultAssign */
  422. SOMETimerEvent*  somDefaultAssign(som3AssignCtrl* ctrl, 
  423.         SOMObject* fromObj)
  424. {
  425. /*
  426.  *  A default assignment operator. Use this to "assign" the state of one
  427.  *  object to another.
  428.  */
  429.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultAssign)
  430.     (this,ctrl,fromObj);
  431. }
  432.  
  433.  
  434. /* initializer method: somDefaultConstCopyInit */
  435. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  436.         SOMObject* fromObj)
  437. {
  438. /*
  439.  *  A default copy constructor that uses a const fromObj.
  440.  */
  441.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultConstCopyInit)
  442.     (this,ctrl,fromObj);
  443. }
  444.  
  445.  
  446. /* initializer method: somDefaultVCopyInit */
  447. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  448.         SOMObject* fromObj)
  449. {
  450. /*
  451.  *  A default copy constructor that uses a volatile fromObj.
  452.  */
  453.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultVCopyInit)
  454.     (this,ctrl,fromObj);
  455. }
  456.  
  457.  
  458. /* initializer method: somDefaultConstVCopyInit */
  459. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  460.         SOMObject* fromObj)
  461. {
  462. /*
  463.  *  A default copy constructor that uses a const volatile fromObj.
  464.  */
  465.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultConstVCopyInit)
  466.     (this,ctrl,fromObj);
  467. }
  468.  
  469.  
  470. /* method: somDefaultConstAssign */
  471. SOMETimerEvent*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  472.         SOMObject* fromObj)
  473. {
  474. /*
  475.  *  A default assignment operator that uses a const fromObj.
  476.  */
  477.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultConstAssign)
  478.     (this,ctrl,fromObj);
  479. }
  480.  
  481.  
  482. /* method: somDefaultVAssign */
  483. SOMETimerEvent*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  484.         SOMObject* fromObj)
  485. {
  486. /*
  487.  *  A default assignment operator that uses a volatile fromObj.
  488.  */
  489.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultVAssign)
  490.     (this,ctrl,fromObj);
  491. }
  492.  
  493.  
  494. /* method: somDefaultConstVAssign */
  495. SOMETimerEvent*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  496.         SOMObject* fromObj)
  497. {
  498. /*
  499.  *  A default assignment operator that uses a const volatile fromObj.
  500.  */
  501.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDefaultConstVAssign)
  502.     (this,ctrl,fromObj);
  503. }
  504.  
  505.  
  506. /* method: somFree */
  507. void   somFree()
  508. {
  509. /*
  510.  *  Use as directed by framework implementations.
  511.  */
  512.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somFree)
  513.     (this);
  514. }
  515.  
  516.  
  517. /* method: somUninit */
  518. void   somUninit()
  519. {
  520. /*
  521.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  522.  */
  523.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somUninit)
  524.     (this);
  525. }
  526.  
  527.  
  528. /* method: somGetClass */
  529. SOMClass*   somGetClass()
  530. {
  531. /*
  532.  *  Return the receiver's class.
  533.  */
  534.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somGetClass)
  535.     (this);
  536. }
  537.  
  538.  
  539. /* method: somGetClassName */
  540. string   somGetClassName()
  541. {
  542. /*
  543.  *  Return the name of the receiver's class.
  544.  */
  545.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somGetClassName)
  546.     (this);
  547. }
  548.  
  549.  
  550. /* method: somGetSize */
  551. long   somGetSize()
  552. {
  553. /*
  554.  *  Return the size of the receiver.
  555.  */
  556.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somGetSize)
  557.     (this);
  558. }
  559.  
  560.  
  561. /* method: somIsA */
  562. boolean   somIsA(SOMClass* aClassObj)
  563. {
  564. /*
  565.  *  Returns 1 (true) if the receiver responds to methods
  566.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  567.  */
  568.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somIsA)
  569.     (this,aClassObj);
  570. }
  571.  
  572.  
  573. /* method: somIsInstanceOf */
  574. boolean   somIsInstanceOf(SOMClass* aClassObj)
  575. {
  576. /*
  577.  *  Returns 1 (true) if the receiver is an instance of
  578.  *  <aClassObj> and 0 (false) otherwise.
  579.  */
  580.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somIsInstanceOf)
  581.     (this,aClassObj);
  582. }
  583.  
  584.  
  585. /* method: somRespondsTo */
  586. boolean   somRespondsTo(somId mId)
  587. {
  588. /*
  589.  *  Returns 1 (true) if the indicated method can be invoked
  590.  *  on the receiver and 0 (false) otherwise.
  591.  */
  592.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somRespondsTo)
  593.     (this,mId);
  594. }
  595.  
  596.  
  597. /* va_list method: somDispatch */
  598.  
  599. /*
  600.  *  This method provides a generic, class-specific dispatch mechanism.
  601.  *  It accepts as input <retValue> a pointer to the memory area to be
  602.  *  loaded with the result of dispatching the method indicated by
  603.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  604.  *  on which the method is to be invoked as the first argument.
  605.  */
  606. /* the va_list invocation form */
  607. boolean   SOMETimerEvent_somDispatch(somToken* retValue, 
  608.         somId methodId, 
  609.         va_list ap)
  610. {return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatch)
  611.     (this,retValue,methodId,ap);
  612. }
  613.  
  614. /* the varargs invocation form */
  615. boolean   somDispatch(somToken* retValue, 
  616.         somId methodId, 
  617.         ...)
  618. {
  619. /*
  620.  *  This method provides a generic, class-specific dispatch mechanism.
  621.  *  It accepts as input <retValue> a pointer to the memory area to be
  622.  *  loaded with the result of dispatching the method indicated by
  623.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  624.  *  on which the method is to be invoked as the first argument.
  625.  */
  626.    va_list ap;
  627.    va_start(ap, methodId);
  628.    boolean __somResult = 
  629.       SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatch)
  630.     (this,retValue,methodId,ap);
  631.    va_end(ap);
  632.    return __somResult;
  633. }
  634.  
  635.  
  636. /* va_list method: somClassDispatch */
  637.  
  638. /*
  639.  *  Like somDispatch, but method resolution for static methods is done
  640.  *  according to the clsObj instance method table.
  641.  */
  642. /* the va_list invocation form */
  643. boolean   SOMETimerEvent_somClassDispatch(SOMClass* clsObj, 
  644.         somToken* retValue, 
  645.         somId methodId, 
  646.         va_list ap)
  647. {return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somClassDispatch)
  648.     (this,clsObj,retValue,methodId,ap);
  649. }
  650.  
  651. /* the varargs invocation form */
  652. boolean   somClassDispatch(SOMClass* clsObj, 
  653.         somToken* retValue, 
  654.         somId methodId, 
  655.         ...)
  656. {
  657. /*
  658.  *  Like somDispatch, but method resolution for static methods is done
  659.  *  according to the clsObj instance method table.
  660.  */
  661.    va_list ap;
  662.    va_start(ap, methodId);
  663.    boolean __somResult = 
  664.       SOM_ResolveD(this,SOMETimerEvent,SOMObject,somClassDispatch)
  665.     (this,clsObj,retValue,methodId,ap);
  666.    va_end(ap);
  667.    return __somResult;
  668. }
  669.  
  670.  
  671. /* method: somCastObj */
  672. boolean   somCastObj(SOMClass* cls)
  673. {
  674. /*
  675.  *  cast the receiving object to cls (which must be an ancestor of the
  676.  *  objects true class. Returns true on success.
  677.  */
  678.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somCastObj)
  679.     (this,cls);
  680. }
  681.  
  682.  
  683. /* method: somResetObj */
  684. boolean   somResetObj()
  685. {
  686. /*
  687.  *  reset an object to its true class. Returns true always.
  688.  */
  689.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somResetObj)
  690.     (this);
  691. }
  692.  
  693.  
  694. /* va_list method: somDispatchV */
  695.  
  696. /*
  697.  *  Obsolete. Use somDispatch instead.
  698.  */
  699. /* the va_list invocation form */
  700. void   SOMETimerEvent_somDispatchV(somId methodId, 
  701.         somId descriptor, 
  702.         va_list ap)
  703. {   SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchV)
  704.     (this,methodId,descriptor,ap);
  705. }
  706.  
  707. /* the varargs invocation form */
  708. void   somDispatchV(somId methodId, 
  709.         somId descriptor, 
  710.         ...)
  711. {
  712. /*
  713.  *  Obsolete. Use somDispatch instead.
  714.  */
  715.    va_list ap;
  716.    va_start(ap, descriptor);
  717.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchV)
  718.     (this,methodId,descriptor,ap);
  719.    va_end(ap);
  720. }
  721.  
  722.  
  723. /* va_list method: somDispatchL */
  724.  
  725. /*
  726.  *  Obsolete. Use somDispatch instead.
  727.  */
  728. /* the va_list invocation form */
  729. long   SOMETimerEvent_somDispatchL(somId methodId, 
  730.         somId descriptor, 
  731.         va_list ap)
  732. {return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchL)
  733.     (this,methodId,descriptor,ap);
  734. }
  735.  
  736. /* the varargs invocation form */
  737. long   somDispatchL(somId methodId, 
  738.         somId descriptor, 
  739.         ...)
  740. {
  741. /*
  742.  *  Obsolete. Use somDispatch instead.
  743.  */
  744.    va_list ap;
  745.    va_start(ap, descriptor);
  746.    long __somResult = 
  747.       SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchL)
  748.     (this,methodId,descriptor,ap);
  749.    va_end(ap);
  750.    return __somResult;
  751. }
  752.  
  753.  
  754. /* va_list method: somDispatchA */
  755.  
  756. /*
  757.  *  Obsolete. Use somDispatch instead.
  758.  */
  759. /* the va_list invocation form */
  760. void*   SOMETimerEvent_somDispatchA(somId methodId, 
  761.         somId descriptor, 
  762.         va_list ap)
  763. {return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchA)
  764.     (this,methodId,descriptor,ap);
  765. }
  766.  
  767. /* the varargs invocation form */
  768. void*   somDispatchA(somId methodId, 
  769.         somId descriptor, 
  770.         ...)
  771. {
  772. /*
  773.  *  Obsolete. Use somDispatch instead.
  774.  */
  775.    va_list ap;
  776.    va_start(ap, descriptor);
  777.    void* __somResult = 
  778.       SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchA)
  779.     (this,methodId,descriptor,ap);
  780.    va_end(ap);
  781.    return __somResult;
  782. }
  783.  
  784.  
  785. /* va_list method: somDispatchD */
  786.  
  787. /*
  788.  *  Obsolete. Use somDispatch instead.
  789.  */
  790. /* the va_list invocation form */
  791. double   SOMETimerEvent_somDispatchD(somId methodId, 
  792.         somId descriptor, 
  793.         va_list ap)
  794. {return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchD)
  795.     (this,methodId,descriptor,ap);
  796. }
  797.  
  798. /* the varargs invocation form */
  799. double   somDispatchD(somId methodId, 
  800.         somId descriptor, 
  801.         ...)
  802. {
  803. /*
  804.  *  Obsolete. Use somDispatch instead.
  805.  */
  806.    va_list ap;
  807.    va_start(ap, descriptor);
  808.    double __somResult = 
  809.       SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDispatchD)
  810.     (this,methodId,descriptor,ap);
  811.    va_end(ap);
  812.    return __somResult;
  813. }
  814.  
  815.  
  816. /* method: somPrintSelf */
  817. SOMObject*   somPrintSelf()
  818. {
  819. /*
  820.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  821.  *  information about this object.  The default implementation just gives
  822.  *  the object's class name and its address in memory.
  823.  *  <self> is returned.
  824.  */
  825.    return SOM_ResolveD(this,SOMETimerEvent,SOMObject,somPrintSelf)
  826.     (this);
  827. }
  828.  
  829.  
  830. /* method: somDumpSelf */
  831. void   somDumpSelf(long level)
  832. {
  833. /*
  834.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  835.  *  and its current state.
  836.  * 
  837.  *  <level> indicates the nesting level for describing compound objects
  838.  *  it must be greater than or equal to zero.  All lines in the
  839.  *  description will be preceeded by <2*level> spaces.
  840.  * 
  841.  *  This routine only actually writes the data that concerns the object
  842.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  843.  *  the object's current state.  This approach allows readable
  844.  *  descriptions of compound objects to be constructed.
  845.  * 
  846.  *  Generally it is not necessary to override this method, if it is
  847.  *  overriden it generally must be completely replaced.
  848.  */
  849.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDumpSelf)
  850.     (this,level);
  851. }
  852.  
  853.  
  854. /* method: somDumpSelfInt */
  855. void   somDumpSelfInt(long level)
  856. {
  857. /*
  858.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  859.  *  Generally this method will need to be overridden.  When overriding
  860.  *  it, begin by calling the parent class form of this method and then
  861.  *  write in a description of your class's instance data. This will
  862.  *  result in a description of all the object's instance data going
  863.  *  from its root ancestor class to its specific class.
  864.  */
  865.    SOM_ResolveD(this,SOMETimerEvent,SOMObject,somDumpSelfInt)
  866.     (this,level);
  867. }
  868.  
  869.  
  870.  
  871. };   /* SOMETimerEvent */
  872.  
  873.  
  874.  
  875. #endif       /* SOM_SOMETimerEvent_xh */
  876.