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

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