home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somobj.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  17.1 KB  |  625 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\somobj.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somk
  13.  * 
  14.  *    ORIGINS: 27
  15.  * 
  16.  * 
  17.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *    All Rights Reserved
  19.  *    Licensed Materials - Property of IBM
  20.  *    US Government Users Restricted Rights - Use, duplication or
  21.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  * 
  23.  *   SOMObject: System Object Model root class
  24.  */
  25.  
  26.  
  27. #ifndef SOM_SOMObject_xh
  28. #define SOM_SOMObject_xh
  29.  
  30. class SOMObject;
  31.  
  32. /*
  33.  *  This is the SOM root class, all SOM classes must be descended from
  34.  *  <SOMObject>. <SOMObject> has no instance data so there is no
  35.  *  per-instance cost to to being descended from it.
  36.  */
  37.  
  38. #define SOMObject_MajorVersion 1
  39. #define SOMObject_MinorVersion 4
  40.  
  41. /* C++ SOM defs */
  42. #include <som.xh>
  43.  
  44. #ifndef SOMObject_API
  45. #define SOMObject_API
  46. /*
  47.  * -- The Class API
  48.  */
  49.  
  50. /*
  51.  * Start of user-defined types:
  52.  */
  53. class SOMClass;
  54. class SOMObject;
  55. #ifndef _IDL_SEQUENCE_SOMObject_defined
  56. #define _IDL_SEQUENCE_SOMObject_defined
  57. typedef struct {
  58.     unsigned long _maximum;
  59.     unsigned long _length;
  60.     SOMObject **_buffer;
  61. } _IDL_SEQUENCE_SOMObject;
  62. #endif /* _IDL_SEQUENCE_SOMObject_defined */ 
  63. typedef
  64. _IDL_SEQUENCE_SOMObject SOMObject_SOMObjectSequence;
  65.  
  66. /*
  67.  *  a sequence of booleans.
  68.  */
  69. #ifndef _IDL_SEQUENCE_octet_defined
  70. #define _IDL_SEQUENCE_octet_defined
  71. typedef struct {
  72.     unsigned long _maximum;
  73.     unsigned long _length;
  74.     octet *_buffer;
  75. } _IDL_SEQUENCE_octet;
  76. #endif /* _IDL_SEQUENCE_octet_defined */ 
  77. typedef
  78. _IDL_SEQUENCE_octet SOMObject_BooleanSequence;
  79.  
  80. /*
  81.  *  a structure to describe an object-related offset, and
  82.  *  a sequence of class-related offsets
  83.  */
  84. typedef
  85. struct SOMObject_somObjectOffset {
  86. SOMObject* obj;
  87. long  offset;
  88. } SOMObject_somObjectOffset;
  89. struct SOMObject_somObjectOffset;
  90. #ifndef _IDL_SEQUENCE_SOMObject_somObjectOffset_defined
  91. #define _IDL_SEQUENCE_SOMObject_somObjectOffset_defined
  92. typedef struct {
  93.     unsigned long _maximum;
  94.     unsigned long _length;
  95.     struct SOMObject_somObjectOffset *_buffer;
  96. } _IDL_SEQUENCE_SOMObject_somObjectOffset;
  97. #endif /* _IDL_SEQUENCE_SOMObject_somObjectOffset_defined */ 
  98. typedef
  99. _IDL_SEQUENCE_SOMObject_somObjectOffset SOMObject_somObjectOffsets;
  100.  
  101. #ifndef SOM_DONT_USE_SHORT_NAMES
  102.  
  103. #ifndef SOM_DONT_USE_SHORT_NAMES
  104. #ifndef SOMTGD_SOMObjectSequence
  105.     #ifdef SOMObjectSequence
  106.         #undef SOMObjectSequence
  107.         #define SOMTGD_SOMObjectSequence 1
  108.     #else
  109.         #define SOMObjectSequence SOMObject_SOMObjectSequence
  110.     #endif /* SOMObjectSequence */
  111. #endif /* SOMTGD_SOMObjectSequence */
  112. #endif /* SOM_DONT_USE_SHORT_NAMES */
  113.  
  114. #ifndef SOM_DONT_USE_SHORT_NAMES
  115. #ifndef SOMTGD_BooleanSequence
  116.     #ifdef BooleanSequence
  117.         #undef BooleanSequence
  118.         #define SOMTGD_BooleanSequence 1
  119.     #else
  120.         #define BooleanSequence SOMObject_BooleanSequence
  121.     #endif /* BooleanSequence */
  122. #endif /* SOMTGD_BooleanSequence */
  123. #endif /* SOM_DONT_USE_SHORT_NAMES */
  124. #ifndef SOMTGD_somObjectOffset
  125.     #ifdef somObjectOffset
  126.         #undef somObjectOffset
  127.         #define SOMTGD_somObjectOffset 1
  128.     #else
  129.         #define somObjectOffset SOMObject_somObjectOffset
  130.     #endif /* somObjectOffset */
  131. #endif /* SOMTGD_somObjectOffset */
  132. #ifndef SOMTGD__IDL_SEQUENCE_somObjectOffset
  133.     #ifdef _IDL_SEQUENCE_somObjectOffset
  134.         #undef _IDL_SEQUENCE_somObjectOffset
  135.         #define SOMTGD__IDL_SEQUENCE_somObjectOffset 1
  136.     #else
  137.         #define _IDL_SEQUENCE_somObjectOffset _IDL_SEQUENCE_SOMObject_somObjectOffset
  138.     #endif /* _IDL_SEQUENCE_somObjectOffset */
  139. #endif /* SOMTGD__IDL_SEQUENCE_somObjectOffset */
  140.  
  141. #ifndef SOM_DONT_USE_SHORT_NAMES
  142. #ifndef SOMTGD_somObjectOffsets
  143.     #ifdef somObjectOffsets
  144.         #undef somObjectOffsets
  145.         #define SOMTGD_somObjectOffsets 1
  146.     #else
  147.         #define somObjectOffsets SOMObject_somObjectOffsets
  148.     #endif /* somObjectOffsets */
  149. #endif /* SOMTGD_somObjectOffsets */
  150. #endif /* SOM_DONT_USE_SHORT_NAMES */
  151. #endif /* SOM_DONT_USE_SHORT_NAMES */
  152.  
  153. /*
  154.  * End of user-defined types.
  155.  */
  156.  
  157. /* A procedure to create the SOMObject Class */
  158. SOMEXTERN
  159. #if (defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  160. WIN32_DLLEXPORT
  161. #else
  162. WIN32_DLLIMPORT
  163. #endif
  164. SOMClass * SOMLINK SOMObjectNewClass(
  165.         integer4,
  166.         integer4 );
  167.  
  168. /* The API to the SOMObject class object, and the methods it introduces. */
  169. SOMEXTERN struct SOMObjectClassDataStructure {
  170.     SOMClass *classObject;
  171.     somMToken somInit;
  172.     somMToken somUninit;
  173.     somMToken somFree;
  174.     somMToken somDefaultVCopyInit;
  175.     somMToken somGetClassName;
  176.     somMToken somGetClass;
  177.     somMToken somIsA;
  178.     somMToken somRespondsTo;
  179.     somMToken somIsInstanceOf;
  180.     somMToken somGetSize;
  181.     somMToken somDumpSelf;
  182.     somMToken somDumpSelfInt;
  183.     somMToken somPrintSelf;
  184.     somMToken somDefaultConstVCopyInit;
  185.     somMToken somDispatchV;
  186.     somMToken somDispatchL;
  187.     somMToken somDispatchA;
  188.     somMToken somDispatchD;
  189.     somMToken somDispatch;
  190.     somMToken somClassDispatch;
  191.     somMToken somCastObj;
  192.     somMToken somResetObj;
  193.     somMToken somDefaultInit;
  194.     somMToken somDestruct;
  195.     somMToken somPrivate1;
  196.     somMToken somPrivate2;
  197.     somMToken somDefaultCopyInit;
  198.     somMToken somDefaultConstCopyInit;
  199.     somMToken somDefaultAssign;
  200.     somMToken somDefaultConstAssign;
  201.     somMToken somDefaultVAssign;
  202.     somMToken somDefaultConstVAssign;
  203. }
  204. #if !(defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  205. WIN32_DLLIMPORT
  206. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  207. WIN32_DLLEXPORT
  208. #endif
  209. SOMDLINK SOMObjectClassData;
  210. #define _SOMObject SOMObjectClassData.classObject
  211.  
  212. /* The API to parentMtabs for SOMObject, and the instance data it introduces. */
  213. SOMEXTERN struct SOMObjectCClassDataStructure {
  214.     somMethodTabs parentMtab;
  215.     somDToken              instanceDataToken;
  216. }
  217. #if !(defined(SOM_Module_somobj_Source) || defined(SOMObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMObject))
  218. WIN32_DLLIMPORT
  219. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  220. WIN32_DLLEXPORT
  221. #endif
  222. SOMDLINK SOMObjectCClassData;
  223.  
  224. /*
  225.  * -- Typedefs for SOMObject Method Procedures
  226.  */
  227. extern "C" {
  228. typedef void   SOMLINK somTP_SOMObject_somDefaultInit(SOMObject *somSelf,
  229.         somInitCtrl* ctrl);
  230. typedef somTP_SOMObject_somDefaultInit *somTD_SOMObject_somDefaultInit;
  231. typedef void   SOMLINK somTP_SOMObject_somDestruct(SOMObject *somSelf,
  232.         octet doFree,
  233.         somDestructCtrl* ctrl);
  234. typedef somTP_SOMObject_somDestruct *somTD_SOMObject_somDestruct;
  235. typedef void   SOMLINK somTP_SOMObject_somDefaultCopyInit(SOMObject *somSelf,
  236.         somInitCtrl* ctrl,
  237.         SOMObject* fromObj);
  238. typedef somTP_SOMObject_somDefaultCopyInit *somTD_SOMObject_somDefaultCopyInit;
  239. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultAssign(SOMObject *somSelf,
  240.         somAssignCtrl* ctrl,
  241.         SOMObject* fromObj);
  242. typedef somTP_SOMObject_somDefaultAssign *somTD_SOMObject_somDefaultAssign;
  243. typedef void   SOMLINK somTP_SOMObject_somDefaultConstCopyInit(SOMObject *somSelf,
  244.         somInitCtrl* ctrl,
  245.         SOMObject* fromObj);
  246. typedef somTP_SOMObject_somDefaultConstCopyInit *somTD_SOMObject_somDefaultConstCopyInit;
  247. typedef void   SOMLINK somTP_SOMObject_somDefaultVCopyInit(SOMObject *somSelf,
  248.         somInitCtrl* ctrl,
  249.         SOMObject* fromObj);
  250. typedef somTP_SOMObject_somDefaultVCopyInit *somTD_SOMObject_somDefaultVCopyInit;
  251. typedef void   SOMLINK somTP_SOMObject_somDefaultConstVCopyInit(SOMObject *somSelf,
  252.         somInitCtrl* ctrl,
  253.         SOMObject* fromObj);
  254. typedef somTP_SOMObject_somDefaultConstVCopyInit *somTD_SOMObject_somDefaultConstVCopyInit;
  255. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultConstAssign(SOMObject *somSelf,
  256.         somAssignCtrl* ctrl,
  257.         SOMObject* fromObj);
  258. typedef somTP_SOMObject_somDefaultConstAssign *somTD_SOMObject_somDefaultConstAssign;
  259. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultVAssign(SOMObject *somSelf,
  260.         somAssignCtrl* ctrl,
  261.         SOMObject* fromObj);
  262. typedef somTP_SOMObject_somDefaultVAssign *somTD_SOMObject_somDefaultVAssign;
  263. typedef SOMObject*   SOMLINK somTP_SOMObject_somDefaultConstVAssign(SOMObject *somSelf,
  264.         somAssignCtrl* ctrl,
  265.         SOMObject* fromObj);
  266. typedef somTP_SOMObject_somDefaultConstVAssign *somTD_SOMObject_somDefaultConstVAssign;
  267. typedef void   SOMLINK somTP_SOMObject_somInit(SOMObject *somSelf);
  268. typedef somTP_SOMObject_somInit *somTD_SOMObject_somInit;
  269. typedef void   SOMLINK somTP_SOMObject_somFree(SOMObject *somSelf);
  270. typedef somTP_SOMObject_somFree *somTD_SOMObject_somFree;
  271. typedef void   SOMLINK somTP_SOMObject_somUninit(SOMObject *somSelf);
  272. typedef somTP_SOMObject_somUninit *somTD_SOMObject_somUninit;
  273. typedef SOMClass*   SOMLINK somTP_SOMObject_somGetClass(SOMObject *somSelf);
  274. typedef somTP_SOMObject_somGetClass *somTD_SOMObject_somGetClass;
  275. typedef string   SOMLINK somTP_SOMObject_somGetClassName(SOMObject *somSelf);
  276. typedef somTP_SOMObject_somGetClassName *somTD_SOMObject_somGetClassName;
  277. typedef long   SOMLINK somTP_SOMObject_somGetSize(SOMObject *somSelf);
  278. typedef somTP_SOMObject_somGetSize *somTD_SOMObject_somGetSize;
  279. typedef boolean   SOMLINK somTP_SOMObject_somIsA(SOMObject *somSelf,
  280.         SOMClass* aClassObj);
  281. typedef somTP_SOMObject_somIsA *somTD_SOMObject_somIsA;
  282. typedef boolean   SOMLINK somTP_SOMObject_somIsInstanceOf(SOMObject *somSelf,
  283.         SOMClass* aClassObj);
  284. typedef somTP_SOMObject_somIsInstanceOf *somTD_SOMObject_somIsInstanceOf;
  285. typedef boolean   SOMLINK somTP_SOMObject_somRespondsTo(SOMObject *somSelf,
  286.         somId mId);
  287. typedef somTP_SOMObject_somRespondsTo *somTD_SOMObject_somRespondsTo;
  288. typedef boolean   SOMLINK somTP_SOMObject_somDispatch(SOMObject *somSelf,
  289.         somToken* retValue,
  290.         somId methodId,
  291.         va_list ap);
  292. typedef somTP_SOMObject_somDispatch *somTD_SOMObject_somDispatch;
  293. typedef boolean   SOMLINK somTP_SOMObject_somClassDispatch(SOMObject *somSelf,
  294.         SOMClass* clsObj,
  295.         somToken* retValue,
  296.         somId methodId,
  297.         va_list ap);
  298. typedef somTP_SOMObject_somClassDispatch *somTD_SOMObject_somClassDispatch;
  299. typedef boolean   SOMLINK somTP_SOMObject_somCastObj(SOMObject *somSelf,
  300.         SOMClass* cls);
  301. typedef somTP_SOMObject_somCastObj *somTD_SOMObject_somCastObj;
  302. typedef boolean   SOMLINK somTP_SOMObject_somResetObj(SOMObject *somSelf);
  303. typedef somTP_SOMObject_somResetObj *somTD_SOMObject_somResetObj;
  304. typedef SOMObject*   SOMLINK somTP_SOMObject_somPrintSelf(SOMObject *somSelf);
  305. typedef somTP_SOMObject_somPrintSelf *somTD_SOMObject_somPrintSelf;
  306. typedef void   SOMLINK somTP_SOMObject_somDumpSelf(SOMObject *somSelf,
  307.         long level);
  308. typedef somTP_SOMObject_somDumpSelf *somTD_SOMObject_somDumpSelf;
  309. typedef void   SOMLINK somTP_SOMObject_somDumpSelfInt(SOMObject *somSelf,
  310.         long level);
  311. typedef somTP_SOMObject_somDumpSelfInt *somTD_SOMObject_somDumpSelfInt;
  312. }
  313.  
  314. #endif /* SOMObject_API */
  315.  
  316.  
  317. /*
  318.  * -- This emitter believes that method thunks are unavailable,
  319.  * -- so somResolve will be called.
  320.  */
  321. #undef somresolve_
  322. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  323. // special somclass api for use in SOMObject.xh
  324. #include <somcls.api>
  325.  
  326. /*
  327.  * -- The C++ Wrapper Class for SOMObject
  328.  */
  329.  
  330. class SOMObject
  331. {
  332. public:
  333.  
  334. // SOMObject::new creates the class object if necessary, and then uses somNewNoInit
  335. // to allocate memory and create the object. Initialization is in ctors.
  336. void *operator new(size_t)
  337. {
  338.    if (!_SOMObject) SOMObjectNewClass(SOMObject_MajorVersion,SOMObject_MinorVersion);
  339.    return (void*)
  340.       SOM_Resolve(_SOMObject,SOMClass,somNewNoInit)
  341.          ((SOMClass *)((void*)_SOMObject));
  342. }
  343.  
  344. // SOMObject::delete uses somDestruct.
  345. void operator delete(void * obj)
  346. {
  347.    if (obj && *(void**)obj) {
  348.       SOM_Resolve(obj,SOMObject,somDestruct)
  349.          ((SOMObject*)obj, 1, 0);
  350.    }
  351. }
  352.  
  353. SOMObject()
  354. {
  355. }
  356.  
  357. SOMObject(SOMObject* fromObj)
  358. {
  359. }
  360.  
  361. SOMObject(const SOMObject* fromObj)
  362. {
  363. }
  364.  
  365.  
  366. /* initializer method: somDefaultInit */
  367. void   somDefaultInit(somInitCtrl* ctrl)
  368. {
  369.    SOM_ResolveD(this,SOMObject,SOMObject,somDefaultInit)
  370.     (this,ctrl);
  371. }
  372.  
  373.  
  374. /* method: somDestruct */
  375. void   somDestruct(octet doFree,
  376.         somDestructCtrl* ctrl)
  377. {
  378.    SOM_ResolveD(this,SOMObject,SOMObject,somDestruct)
  379.     (this,doFree,ctrl);
  380. }
  381.  
  382.  
  383. /* initializer method: somDefaultCopyInit */
  384. void   somDefaultCopyInit(somInitCtrl* ctrl,
  385.         SOMObject* fromObj)
  386. {
  387.    SOM_ResolveD(this,SOMObject,SOMObject,somDefaultCopyInit)
  388.     (this,ctrl,fromObj);
  389. }
  390.  
  391.  
  392. /* method: somDefaultAssign */
  393. SOMObject*  somDefaultAssign(somAssignCtrl* ctrl,
  394.         SOMObject* fromObj)
  395. {
  396.    return SOM_ResolveD(this,SOMObject,SOMObject,somDefaultAssign)
  397.     (this,ctrl,fromObj);
  398. }
  399.  
  400.  
  401. /* initializer method: somDefaultConstCopyInit */
  402. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  403.         SOMObject* fromObj)
  404. {
  405.    SOM_ResolveD(this,SOMObject,SOMObject,somDefaultConstCopyInit)
  406.     (this,ctrl,fromObj);
  407. }
  408.  
  409.  
  410. /* initializer method: somDefaultVCopyInit */
  411. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  412.         SOMObject* fromObj)
  413. {
  414.    SOM_ResolveD(this,SOMObject,SOMObject,somDefaultVCopyInit)
  415.     (this,ctrl,fromObj);
  416. }
  417.  
  418.  
  419. /* initializer method: somDefaultConstVCopyInit */
  420. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  421.         SOMObject* fromObj)
  422. {
  423.    SOM_ResolveD(this,SOMObject,SOMObject,somDefaultConstVCopyInit)
  424.     (this,ctrl,fromObj);
  425. }
  426.  
  427.  
  428. /* method: somDefaultConstAssign */
  429. SOMObject*  somDefaultConstAssign(somAssignCtrl* ctrl,
  430.         SOMObject* fromObj)
  431. {
  432.    return SOM_ResolveD(this,SOMObject,SOMObject,somDefaultConstAssign)
  433.     (this,ctrl,fromObj);
  434. }
  435.  
  436.  
  437. /* method: somDefaultVAssign */
  438. SOMObject*  somDefaultVAssign(somAssignCtrl* ctrl,
  439.         SOMObject* fromObj)
  440. {
  441.    return SOM_ResolveD(this,SOMObject,SOMObject,somDefaultVAssign)
  442.     (this,ctrl,fromObj);
  443. }
  444.  
  445.  
  446. /* method: somDefaultConstVAssign */
  447. SOMObject*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  448.         SOMObject* fromObj)
  449. {
  450.    return SOM_ResolveD(this,SOMObject,SOMObject,somDefaultConstVAssign)
  451.     (this,ctrl,fromObj);
  452. }
  453.  
  454.  
  455. /* method: somInit */
  456. void   somInit()
  457. {
  458.    SOM_ResolveD(this,SOMObject,SOMObject,somInit)
  459.     (this);
  460. }
  461.  
  462.  
  463. /* method: somFree */
  464. void   somFree()
  465. {
  466.    SOM_ResolveD(this,SOMObject,SOMObject,somFree)
  467.     (this);
  468. }
  469.  
  470.  
  471. /* method: somUninit */
  472. void   somUninit()
  473. {
  474.    SOM_ResolveD(this,SOMObject,SOMObject,somUninit)
  475.     (this);
  476. }
  477.  
  478.  
  479. /* method: somGetClass */
  480. SOMClass*   somGetClass()
  481. {
  482.    return SOM_ResolveD(this,SOMObject,SOMObject,somGetClass)
  483.     (this);
  484. }
  485.  
  486.  
  487. /* method: somGetClassName */
  488. string   somGetClassName()
  489. {
  490.    return SOM_ResolveD(this,SOMObject,SOMObject,somGetClassName)
  491.     (this);
  492. }
  493.  
  494.  
  495. /* method: somGetSize */
  496. long   somGetSize()
  497. {
  498.    return SOM_ResolveD(this,SOMObject,SOMObject,somGetSize)
  499.     (this);
  500. }
  501.  
  502.  
  503. /* method: somIsA */
  504. boolean   somIsA(SOMClass* aClassObj)
  505. {
  506.    return SOM_ResolveD(this,SOMObject,SOMObject,somIsA)
  507.     (this,aClassObj);
  508. }
  509.  
  510.  
  511. /* method: somIsInstanceOf */
  512. boolean   somIsInstanceOf(SOMClass* aClassObj)
  513. {
  514.    return SOM_ResolveD(this,SOMObject,SOMObject,somIsInstanceOf)
  515.     (this,aClassObj);
  516. }
  517.  
  518.  
  519. /* method: somRespondsTo */
  520. boolean   somRespondsTo(somId mId)
  521. {
  522.    return SOM_ResolveD(this,SOMObject,SOMObject,somRespondsTo)
  523.     (this,mId);
  524. }
  525.  
  526.  
  527. /* va_list method: somDispatch */
  528. /* the va_list invocation form */
  529. boolean   SOMObject_somDispatch(somToken* retValue,
  530.         somId methodId,
  531.         va_list ap)
  532. {
  533. return SOM_ResolveD(this,SOMObject,SOMObject,somDispatch)
  534.     (this,retValue,methodId,ap);
  535. }
  536.  
  537. /* the varargs invocation form */
  538. boolean   somDispatch(somToken* retValue,
  539.         somId methodId,
  540.         ...)
  541. {
  542.    va_list ap;
  543.    va_start(ap, methodId);
  544.    boolean __somResult = 
  545.       SOM_ResolveD(this,SOMObject,SOMObject,somDispatch)
  546.     (this,retValue,methodId,ap);
  547.    va_end(ap);
  548.    return __somResult;
  549. }
  550.  
  551.  
  552. /* va_list method: somClassDispatch */
  553. /* the va_list invocation form */
  554. boolean   SOMObject_somClassDispatch(SOMClass* clsObj,
  555.         somToken* retValue,
  556.         somId methodId,
  557.         va_list ap)
  558. {
  559. return SOM_ResolveD(this,SOMObject,SOMObject,somClassDispatch)
  560.     (this,clsObj,retValue,methodId,ap);
  561. }
  562.  
  563. /* the varargs invocation form */
  564. boolean   somClassDispatch(SOMClass* clsObj,
  565.         somToken* retValue,
  566.         somId methodId,
  567.         ...)
  568. {
  569.    va_list ap;
  570.    va_start(ap, methodId);
  571.    boolean __somResult = 
  572.       SOM_ResolveD(this,SOMObject,SOMObject,somClassDispatch)
  573.     (this,clsObj,retValue,methodId,ap);
  574.    va_end(ap);
  575.    return __somResult;
  576. }
  577.  
  578.  
  579. /* method: somCastObj */
  580. boolean   somCastObj(SOMClass* cls)
  581. {
  582.    return SOM_ResolveD(this,SOMObject,SOMObject,somCastObj)
  583.     (this,cls);
  584. }
  585.  
  586.  
  587. /* method: somResetObj */
  588. boolean   somResetObj()
  589. {
  590.    return SOM_ResolveD(this,SOMObject,SOMObject,somResetObj)
  591.     (this);
  592. }
  593.  
  594.  
  595. /* method: somPrintSelf */
  596. SOMObject*   somPrintSelf()
  597. {
  598.    return SOM_ResolveD(this,SOMObject,SOMObject,somPrintSelf)
  599.     (this);
  600. }
  601.  
  602.  
  603. /* method: somDumpSelf */
  604. void   somDumpSelf(long level)
  605. {
  606.    SOM_ResolveD(this,SOMObject,SOMObject,somDumpSelf)
  607.     (this,level);
  608. }
  609.  
  610.  
  611. /* method: somDumpSelfInt */
  612. void   somDumpSelfInt(long level)
  613. {
  614.    SOM_ResolveD(this,SOMObject,SOMObject,somDumpSelfInt)
  615.     (this,level);
  616. }
  617.  
  618.  
  619.  
  620. };   /* SOMObject */
  621.  
  622.  
  623.  
  624. #endif       /* SOM_SOMObject_xh */
  625.