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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\SOMDOBJ.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somd
  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.  *    Interface for CORBA Object Reference.
  24.  * 
  25.  *    This is the class that implements the behavior of CORBA object references,
  26.  *    e.g., get_implementation, get_interface, duplicate, release, etc.
  27.  * 
  28.  *    In addition, there are some private methods, which are exposed only to
  29.  *    the ORB classes, to implement the ORB functions related to object
  30.  *    references (e.g., ORB_object_to_string).
  31.  * 
  32.  *    In DSOM, there is also another derivation of this class:  SOMDClientProxy.
  33.  *    This subclass inherits the implementation of this class, but extends it
  34.  *    by overriding somDispatch with a "remote dispatch" method, and caches the
  35.  *    binding to the server process.  Whenever a remote object is accessed, it
  36.  *    is represented in the client process by a SOMDClientProxy object.
  37.  * 
  38.  * 
  39.  */
  40.  
  41.  
  42. #ifndef SOM_SOMDObject_xh
  43. #define SOM_SOMDObject_xh
  44.  
  45. class SOMDObject;
  46.  
  47. #define SOMDObject_MajorVersion 2
  48. #define SOMDObject_MinorVersion 1
  49.  
  50. /*
  51.  * Passthru lines: File: "C.xh", "before"
  52.  */
  53.  
  54. #include <somdtype.xh>
  55.  
  56.  
  57. /* C++ SOM defs */
  58. #include <somcls.xh>
  59. #include <somcm.xh>
  60.  
  61. /* C++ parent defs */
  62. #ifndef SOM_SOMObject_xh
  63. #include <somobj.xh>
  64. #endif
  65.  
  66. #ifndef SOMDObject_API
  67. #define SOMDObject_API
  68. /*
  69.  * -- The Class API
  70.  */
  71.  
  72. /*
  73.  * Start of user-defined types:
  74.  */
  75. class SOMClass;
  76. class SOMObject;
  77. class Container;
  78. class ImplementationDef;
  79. class InterfaceDef;
  80. class NVList;
  81. class Context;
  82. class Request;
  83.  
  84. /*
  85.  * End of user-defined types.
  86.  */
  87.  
  88. /* A procedure to create the SOMDObject Class */
  89. SOMEXTERN
  90. #if (defined(SOM_Module_SOMDOBJ_Source) || defined(SOMDObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDObject))
  91. WIN32_DLLEXPORT
  92. #else
  93. WIN32_DLLIMPORT
  94. #endif
  95. SOMClass * SOMLINK SOMDObjectNewClass(
  96.         integer4,
  97.         integer4 );
  98.  
  99. /* The API to the SOMDObject class object, and the methods it introduces. */
  100. SOMEXTERN struct SOMDObjectClassDataStructure {
  101.     SOMClass *classObject;
  102.     somMToken get_implementation;
  103.     somMToken get_interface;
  104.     somMToken set_to_nil;
  105.     somMethodProc *is_nil;
  106.     somMToken is_SOM_ref;
  107.     somMToken is_constant;
  108.     somMToken is_proxy;
  109.     somMToken duplicate;
  110.     somMToken release;
  111.     somMToken create_request;
  112.     somMToken create_request_args;
  113.     somMToken _get_somd_tag;
  114.     somMToken _get_somd_flags;
  115.     somMToken _set_somd_flags;
  116.     somMToken _get_somd_impl;
  117.     somMToken _set_somd_impl;
  118.     somMToken _get_somd_rid;
  119.     somMToken _set_somd_rid;
  120.     somMToken _get_somd_id;
  121.     somMToken _set_somd_id;
  122. }
  123. #if !(defined(SOM_Module_SOMDOBJ_Source) || defined(SOMDObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDObject))
  124. WIN32_DLLIMPORT
  125. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  126. WIN32_DLLEXPORT
  127. #endif
  128. SOMDLINK SOMDObjectClassData;
  129. #define _SOMDObject SOMDObjectClassData.classObject
  130.  
  131. /* The API to parentMtabs for SOMDObject, and the instance data it introduces. */
  132. SOMEXTERN struct SOMDObjectCClassDataStructure {
  133.     somMethodTabs parentMtab;
  134.     somDToken              instanceDataToken;
  135. }
  136. #if !(defined(SOM_Module_SOMDOBJ_Source) || defined(SOMDObject_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMDObject))
  137. WIN32_DLLIMPORT
  138. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  139. WIN32_DLLEXPORT
  140. #endif
  141. SOMDLINK SOMDObjectCClassData;
  142.  
  143. /*
  144.  * -- Typedefs for SOMDObject Method Procedures
  145.  */
  146. extern "C" {
  147. typedef ImplementationDef*   SOMLINK somTP_SOMDObject_get_implementation(SOMDObject *somSelf, Environment *ev);
  148. typedef somTP_SOMDObject_get_implementation *somTD_SOMDObject_get_implementation;
  149. typedef InterfaceDef*   SOMLINK somTP_SOMDObject_get_interface(SOMDObject *somSelf, Environment *ev);
  150. typedef somTP_SOMDObject_get_interface *somTD_SOMDObject_get_interface;
  151. typedef boolean   SOMLINK somTP_SOMDObject_is_nil(SOMDObject *somSelf, Environment *ev);
  152. typedef somTP_SOMDObject_is_nil *somTD_SOMDObject_is_nil;
  153. typedef boolean   SOMLINK somTP_SOMDObject_is_SOM_ref(SOMDObject *somSelf, Environment *ev);
  154. typedef somTP_SOMDObject_is_SOM_ref *somTD_SOMDObject_is_SOM_ref;
  155. typedef boolean   SOMLINK somTP_SOMDObject_is_constant(SOMDObject *somSelf, Environment *ev);
  156. typedef somTP_SOMDObject_is_constant *somTD_SOMDObject_is_constant;
  157. typedef boolean   SOMLINK somTP_SOMDObject_is_proxy(SOMDObject *somSelf, Environment *ev);
  158. typedef somTP_SOMDObject_is_proxy *somTD_SOMDObject_is_proxy;
  159. typedef SOMDObject*   SOMLINK somTP_SOMDObject_duplicate(SOMDObject *somSelf, Environment *ev);
  160. typedef somTP_SOMDObject_duplicate *somTD_SOMDObject_duplicate;
  161. typedef void   SOMLINK somTP_SOMDObject_release(SOMDObject *somSelf, Environment *ev);
  162. typedef somTP_SOMDObject_release *somTD_SOMDObject_release;
  163. typedef ORBStatus   SOMLINK somTP_SOMDObject_create_request(SOMDObject *somSelf, Environment *ev,
  164.         Context* ctx,
  165.         Identifier operation,
  166.         NVList* arg_list,
  167.         NamedValue* result,
  168.         Request** request,
  169.         Flags req_flags);
  170. typedef somTP_SOMDObject_create_request *somTD_SOMDObject_create_request;
  171. typedef ORBStatus   SOMLINK somTP_SOMDObject_create_request_args(SOMDObject *somSelf, Environment *ev,
  172.         Identifier operation,
  173.         NVList** arg_list,
  174.         NamedValue* result);
  175. typedef somTP_SOMDObject_create_request_args *somTD_SOMDObject_create_request_args;
  176.  
  177. /*
  178.  * -- Typedefs for Reintroduced Wrapper Methods
  179.  */
  180. typedef void   SOMLINK somTP_SOMDObject_somDefaultInit(SOMDObject *somSelf,
  181.         somInitCtrl* ctrl);
  182. typedef somTP_SOMDObject_somDefaultInit *somTD_SOMDObject_somDefaultInit;
  183. typedef void   SOMLINK somTP_SOMDObject_somDestruct(SOMDObject *somSelf,
  184.         octet doFree,
  185.         somDestructCtrl* ctrl);
  186. typedef somTP_SOMDObject_somDestruct *somTD_SOMDObject_somDestruct;
  187. typedef void   SOMLINK somTP_SOMDObject_somDefaultCopyInit(SOMDObject *somSelf,
  188.         somInitCtrl* ctrl,
  189.         SOMObject* fromObj);
  190. typedef somTP_SOMDObject_somDefaultCopyInit *somTD_SOMDObject_somDefaultCopyInit;
  191. typedef SOMDObject*   SOMLINK somTP_SOMDObject_somDefaultAssign(SOMDObject *somSelf,
  192.         somAssignCtrl* ctrl,
  193.         SOMObject* fromObj);
  194. typedef somTP_SOMDObject_somDefaultAssign *somTD_SOMDObject_somDefaultAssign;
  195. typedef void   SOMLINK somTP_SOMDObject_somDefaultConstCopyInit(SOMDObject *somSelf,
  196.         somInitCtrl* ctrl,
  197.         SOMObject* fromObj);
  198. typedef somTP_SOMDObject_somDefaultConstCopyInit *somTD_SOMDObject_somDefaultConstCopyInit;
  199. typedef void   SOMLINK somTP_SOMDObject_somDefaultVCopyInit(SOMDObject *somSelf,
  200.         somInitCtrl* ctrl,
  201.         SOMObject* fromObj);
  202. typedef somTP_SOMDObject_somDefaultVCopyInit *somTD_SOMDObject_somDefaultVCopyInit;
  203. typedef void   SOMLINK somTP_SOMDObject_somDefaultConstVCopyInit(SOMDObject *somSelf,
  204.         somInitCtrl* ctrl,
  205.         SOMObject* fromObj);
  206. typedef somTP_SOMDObject_somDefaultConstVCopyInit *somTD_SOMDObject_somDefaultConstVCopyInit;
  207. typedef SOMDObject*   SOMLINK somTP_SOMDObject_somDefaultConstAssign(SOMDObject *somSelf,
  208.         somAssignCtrl* ctrl,
  209.         SOMObject* fromObj);
  210. typedef somTP_SOMDObject_somDefaultConstAssign *somTD_SOMDObject_somDefaultConstAssign;
  211. typedef SOMDObject*   SOMLINK somTP_SOMDObject_somDefaultVAssign(SOMDObject *somSelf,
  212.         somAssignCtrl* ctrl,
  213.         SOMObject* fromObj);
  214. typedef somTP_SOMDObject_somDefaultVAssign *somTD_SOMDObject_somDefaultVAssign;
  215. typedef SOMDObject*   SOMLINK somTP_SOMDObject_somDefaultConstVAssign(SOMDObject *somSelf,
  216.         somAssignCtrl* ctrl,
  217.         SOMObject* fromObj);
  218. typedef somTP_SOMDObject_somDefaultConstVAssign *somTD_SOMDObject_somDefaultConstVAssign;
  219. typedef void   SOMLINK somTP_SOMDObject_somInit(SOMDObject *somSelf);
  220. typedef somTP_SOMDObject_somInit *somTD_SOMDObject_somInit;
  221. typedef void   SOMLINK somTP_SOMDObject_somFree(SOMDObject *somSelf);
  222. typedef somTP_SOMDObject_somFree *somTD_SOMDObject_somFree;
  223. typedef void   SOMLINK somTP_SOMDObject_somUninit(SOMDObject *somSelf);
  224. typedef somTP_SOMDObject_somUninit *somTD_SOMDObject_somUninit;
  225. typedef SOMClass*   SOMLINK somTP_SOMDObject_somGetClass(SOMDObject *somSelf);
  226. typedef somTP_SOMDObject_somGetClass *somTD_SOMDObject_somGetClass;
  227. typedef string   SOMLINK somTP_SOMDObject_somGetClassName(SOMDObject *somSelf);
  228. typedef somTP_SOMDObject_somGetClassName *somTD_SOMDObject_somGetClassName;
  229. typedef long   SOMLINK somTP_SOMDObject_somGetSize(SOMDObject *somSelf);
  230. typedef somTP_SOMDObject_somGetSize *somTD_SOMDObject_somGetSize;
  231. typedef boolean   SOMLINK somTP_SOMDObject_somIsA(SOMDObject *somSelf,
  232.         SOMClass* aClassObj);
  233. typedef somTP_SOMDObject_somIsA *somTD_SOMDObject_somIsA;
  234. typedef boolean   SOMLINK somTP_SOMDObject_somIsInstanceOf(SOMDObject *somSelf,
  235.         SOMClass* aClassObj);
  236. typedef somTP_SOMDObject_somIsInstanceOf *somTD_SOMDObject_somIsInstanceOf;
  237. typedef boolean   SOMLINK somTP_SOMDObject_somRespondsTo(SOMDObject *somSelf,
  238.         somId mId);
  239. typedef somTP_SOMDObject_somRespondsTo *somTD_SOMDObject_somRespondsTo;
  240. typedef boolean   SOMLINK somTP_SOMDObject_somDispatch(SOMDObject *somSelf,
  241.         somToken* retValue,
  242.         somId methodId,
  243.         va_list ap);
  244. typedef somTP_SOMDObject_somDispatch *somTD_SOMDObject_somDispatch;
  245. typedef boolean   SOMLINK somTP_SOMDObject_somClassDispatch(SOMDObject *somSelf,
  246.         SOMClass* clsObj,
  247.         somToken* retValue,
  248.         somId methodId,
  249.         va_list ap);
  250. typedef somTP_SOMDObject_somClassDispatch *somTD_SOMDObject_somClassDispatch;
  251. typedef boolean   SOMLINK somTP_SOMDObject_somCastObj(SOMDObject *somSelf,
  252.         SOMClass* cls);
  253. typedef somTP_SOMDObject_somCastObj *somTD_SOMDObject_somCastObj;
  254. typedef boolean   SOMLINK somTP_SOMDObject_somResetObj(SOMDObject *somSelf);
  255. typedef somTP_SOMDObject_somResetObj *somTD_SOMDObject_somResetObj;
  256. typedef SOMObject*   SOMLINK somTP_SOMDObject_somPrintSelf(SOMDObject *somSelf);
  257. typedef somTP_SOMDObject_somPrintSelf *somTD_SOMDObject_somPrintSelf;
  258. typedef void   SOMLINK somTP_SOMDObject_somDumpSelf(SOMDObject *somSelf,
  259.         long level);
  260. typedef somTP_SOMDObject_somDumpSelf *somTD_SOMDObject_somDumpSelf;
  261. typedef void   SOMLINK somTP_SOMDObject_somDumpSelfInt(SOMDObject *somSelf,
  262.         long level);
  263. typedef somTP_SOMDObject_somDumpSelfInt *somTD_SOMDObject_somDumpSelfInt;
  264. }
  265.  
  266. #endif /* SOMDObject_API */
  267.  
  268.  
  269. /*
  270.  * -- This emitter believes that method thunks are unavailable,
  271.  * -- so somResolve will be called.
  272.  */
  273. #undef somresolve_
  274. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  275.  
  276. /*
  277.  * -- The C++ Wrapper Class for SOMDObject
  278.  */
  279. class SOMDObject : public SOMObject
  280. {
  281. public:
  282.  
  283. // SOMDObject::new creates the class object if necessary, and then uses somNewNoInit
  284. // to allocate memory and create the object. Initialization is in ctors.
  285. void *operator new(size_t)
  286. {
  287.    if (!_SOMDObject) SOMDObjectNewClass(SOMDObject_MajorVersion,SOMDObject_MinorVersion);
  288.    return (void*)
  289.       SOM_Resolve(_SOMDObject,SOMClass,somNewNoInit)
  290.          ((SOMClass *)((void*)_SOMDObject));
  291. }
  292.  
  293. // SOMDObject::delete uses somDestruct.
  294. void operator delete(void * obj)
  295. {
  296.    if (obj && *(void**)obj) {
  297.       SOM_Resolve(obj,SOMObject,somDestruct)
  298.          ((SOMObject*)obj, 1, 0);
  299.    }
  300. }
  301.  
  302. SOMDObject()
  303. {
  304.    if (*(void**)this != 
  305.        ((somParentMtabStructPtr)
  306.         (SOMDObjectCClassData.parentMtab))->mtab)
  307.       return;
  308.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  309. }
  310.  
  311. SOMDObject(SOMDObject* fromObj)
  312. {
  313.    if (*(void**)this != 
  314.        ((somParentMtabStructPtr)
  315.         (SOMDObjectCClassData.parentMtab))->mtab)
  316.       return;
  317.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  318. }
  319.  
  320. SOMDObject(const SOMDObject* fromObj)
  321. {
  322.    if (*(void**)this != 
  323.        ((somParentMtabStructPtr)
  324.         (SOMDObjectCClassData.parentMtab))->mtab)
  325.       return;
  326.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  327. }
  328.  
  329.  
  330. /* method: get_implementation */
  331. ImplementationDef*   get_implementation(Environment *ev)
  332. {
  333.    return SOM_ResolveD(this,SOMDObject,SOMDObject,get_implementation)
  334.     (this, ev);
  335. }
  336.  
  337.  
  338. /* method: get_interface */
  339. InterfaceDef*   get_interface(Environment *ev)
  340. {
  341.    return SOM_ResolveD(this,SOMDObject,SOMDObject,get_interface)
  342.     (this, ev);
  343. }
  344.  
  345.  
  346. /* procedure: is_nil */
  347. static boolean   is_nil(SOMDObject *somSelf, Environment *ev)
  348. {
  349.    return ((somTD_SOMDObject_is_nil)SOMDObjectClassData.is_nil)
  350.     (somSelf, ev);
  351. }
  352.  
  353.  
  354. /* method: is_SOM_ref */
  355. boolean   is_SOM_ref(Environment *ev)
  356. {
  357.    return SOM_ResolveD(this,SOMDObject,SOMDObject,is_SOM_ref)
  358.     (this, ev);
  359. }
  360.  
  361.  
  362. /* method: is_constant */
  363. boolean   is_constant(Environment *ev)
  364. {
  365.    return SOM_ResolveD(this,SOMDObject,SOMDObject,is_constant)
  366.     (this, ev);
  367. }
  368.  
  369.  
  370. /* method: is_proxy */
  371. boolean   is_proxy(Environment *ev)
  372. {
  373.    return SOM_ResolveD(this,SOMDObject,SOMDObject,is_proxy)
  374.     (this, ev);
  375. }
  376.  
  377.  
  378. /* method: duplicate */
  379. SOMDObject*   duplicate(Environment *ev)
  380. {
  381.    return SOM_ResolveD(this,SOMDObject,SOMDObject,duplicate)
  382.     (this, ev);
  383. }
  384.  
  385.  
  386. /* method: release */
  387. void   release(Environment *ev)
  388. {
  389.    SOM_ResolveD(this,SOMDObject,SOMDObject,release)
  390.     (this, ev);
  391. }
  392.  
  393.  
  394. /* method: create_request */
  395. ORBStatus   create_request(Environment *ev,
  396.         Context* ctx,
  397.         Identifier operation,
  398.         NVList* arg_list,
  399.         NamedValue* result,
  400.         Request** request,
  401.         Flags req_flags)
  402. {
  403.    return SOM_ResolveD(this,SOMDObject,SOMDObject,create_request)
  404.     (this, ev,ctx,operation,arg_list,result,request,req_flags);
  405. }
  406.  
  407.  
  408. /* method: create_request_args */
  409. ORBStatus   create_request_args(Environment *ev,
  410.         Identifier operation,
  411.         NVList** arg_list,
  412.         NamedValue* result)
  413. {
  414.    return SOM_ResolveD(this,SOMDObject,SOMDObject,create_request_args)
  415.     (this, ev,operation,arg_list,result);
  416. }
  417.  
  418.  
  419. /*
  420.  * Reintroduce inherited methods
  421.  */
  422.  
  423. /* initializer method: somDefaultInit */
  424. void   somDefaultInit(somInitCtrl* ctrl)
  425. {
  426.    SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultInit)
  427.     (this,ctrl);
  428. }
  429.  
  430.  
  431. /* method: somDestruct */
  432. void   somDestruct(octet doFree,
  433.         somDestructCtrl* ctrl)
  434. {
  435.    SOM_ResolveD(this,SOMDObject,SOMObject,somDestruct)
  436.     (this,doFree,ctrl);
  437. }
  438.  
  439.  
  440. /* initializer method: somDefaultCopyInit */
  441. void   somDefaultCopyInit(somInitCtrl* ctrl,
  442.         SOMObject* fromObj)
  443. {
  444.    SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultCopyInit)
  445.     (this,ctrl,fromObj);
  446. }
  447.  
  448.  
  449. /* method: somDefaultAssign */
  450. SOMDObject*  somDefaultAssign(somAssignCtrl* ctrl,
  451.         SOMObject* fromObj)
  452. {
  453.    return SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultAssign)
  454.     (this,ctrl,fromObj);
  455. }
  456.  
  457.  
  458. /* initializer method: somDefaultConstCopyInit */
  459. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  460.         SOMObject* fromObj)
  461. {
  462.    SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultConstCopyInit)
  463.     (this,ctrl,fromObj);
  464. }
  465.  
  466.  
  467. /* initializer method: somDefaultVCopyInit */
  468. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  469.         SOMObject* fromObj)
  470. {
  471.    SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultVCopyInit)
  472.     (this,ctrl,fromObj);
  473. }
  474.  
  475.  
  476. /* initializer method: somDefaultConstVCopyInit */
  477. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  478.         SOMObject* fromObj)
  479. {
  480.    SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultConstVCopyInit)
  481.     (this,ctrl,fromObj);
  482. }
  483.  
  484.  
  485. /* method: somDefaultConstAssign */
  486. SOMDObject*  somDefaultConstAssign(somAssignCtrl* ctrl,
  487.         SOMObject* fromObj)
  488. {
  489.    return SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultConstAssign)
  490.     (this,ctrl,fromObj);
  491. }
  492.  
  493.  
  494. /* method: somDefaultVAssign */
  495. SOMDObject*  somDefaultVAssign(somAssignCtrl* ctrl,
  496.         SOMObject* fromObj)
  497. {
  498.    return SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultVAssign)
  499.     (this,ctrl,fromObj);
  500. }
  501.  
  502.  
  503. /* method: somDefaultConstVAssign */
  504. SOMDObject*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  505.         SOMObject* fromObj)
  506. {
  507.    return SOM_ResolveD(this,SOMDObject,SOMObject,somDefaultConstVAssign)
  508.     (this,ctrl,fromObj);
  509. }
  510.  
  511.  
  512. /* method: somInit */
  513. void   somInit()
  514. {
  515.    SOM_ResolveD(this,SOMDObject,SOMObject,somInit)
  516.     (this);
  517. }
  518.  
  519.  
  520. /* method: somFree */
  521. void   somFree()
  522. {
  523.    SOM_ResolveD(this,SOMDObject,SOMObject,somFree)
  524.     (this);
  525. }
  526.  
  527.  
  528. /* method: somUninit */
  529. void   somUninit()
  530. {
  531.    SOM_ResolveD(this,SOMDObject,SOMObject,somUninit)
  532.     (this);
  533. }
  534.  
  535.  
  536. /* method: somGetClass */
  537. SOMClass*   somGetClass()
  538. {
  539.    return SOM_ResolveD(this,SOMDObject,SOMObject,somGetClass)
  540.     (this);
  541. }
  542.  
  543.  
  544. /* method: somGetClassName */
  545. string   somGetClassName()
  546. {
  547.    return SOM_ResolveD(this,SOMDObject,SOMObject,somGetClassName)
  548.     (this);
  549. }
  550.  
  551.  
  552. /* method: somGetSize */
  553. long   somGetSize()
  554. {
  555.    return SOM_ResolveD(this,SOMDObject,SOMObject,somGetSize)
  556.     (this);
  557. }
  558.  
  559.  
  560. /* method: somIsA */
  561. boolean   somIsA(SOMClass* aClassObj)
  562. {
  563.    return SOM_ResolveD(this,SOMDObject,SOMObject,somIsA)
  564.     (this,aClassObj);
  565. }
  566.  
  567.  
  568. /* method: somIsInstanceOf */
  569. boolean   somIsInstanceOf(SOMClass* aClassObj)
  570. {
  571.    return SOM_ResolveD(this,SOMDObject,SOMObject,somIsInstanceOf)
  572.     (this,aClassObj);
  573. }
  574.  
  575.  
  576. /* method: somRespondsTo */
  577. boolean   somRespondsTo(somId mId)
  578. {
  579.    return SOM_ResolveD(this,SOMDObject,SOMObject,somRespondsTo)
  580.     (this,mId);
  581. }
  582.  
  583.  
  584. /* va_list method: somDispatch */
  585. /* the va_list invocation form */
  586. boolean   SOMDObject_somDispatch(somToken* retValue,
  587.         somId methodId,
  588.         va_list ap)
  589. {
  590. return SOM_ResolveD(this,SOMDObject,SOMObject,somDispatch)
  591.     (this,retValue,methodId,ap);
  592. }
  593.  
  594. /* the varargs invocation form */
  595. boolean   somDispatch(somToken* retValue,
  596.         somId methodId,
  597.         ...)
  598. {
  599.    va_list ap;
  600.    va_start(ap, methodId);
  601.    boolean __somResult = 
  602.       SOM_ResolveD(this,SOMDObject,SOMObject,somDispatch)
  603.     (this,retValue,methodId,ap);
  604.    va_end(ap);
  605.    return __somResult;
  606. }
  607.  
  608.  
  609. /* va_list method: somClassDispatch */
  610. /* the va_list invocation form */
  611. boolean   SOMDObject_somClassDispatch(SOMClass* clsObj,
  612.         somToken* retValue,
  613.         somId methodId,
  614.         va_list ap)
  615. {
  616. return SOM_ResolveD(this,SOMDObject,SOMObject,somClassDispatch)
  617.     (this,clsObj,retValue,methodId,ap);
  618. }
  619.  
  620. /* the varargs invocation form */
  621. boolean   somClassDispatch(SOMClass* clsObj,
  622.         somToken* retValue,
  623.         somId methodId,
  624.         ...)
  625. {
  626.    va_list ap;
  627.    va_start(ap, methodId);
  628.    boolean __somResult = 
  629.       SOM_ResolveD(this,SOMDObject,SOMObject,somClassDispatch)
  630.     (this,clsObj,retValue,methodId,ap);
  631.    va_end(ap);
  632.    return __somResult;
  633. }
  634.  
  635.  
  636. /* method: somCastObj */
  637. boolean   somCastObj(SOMClass* cls)
  638. {
  639.    return SOM_ResolveD(this,SOMDObject,SOMObject,somCastObj)
  640.     (this,cls);
  641. }
  642.  
  643.  
  644. /* method: somResetObj */
  645. boolean   somResetObj()
  646. {
  647.    return SOM_ResolveD(this,SOMDObject,SOMObject,somResetObj)
  648.     (this);
  649. }
  650.  
  651.  
  652. /* method: somPrintSelf */
  653. SOMObject*   somPrintSelf()
  654. {
  655.    return SOM_ResolveD(this,SOMDObject,SOMObject,somPrintSelf)
  656.     (this);
  657. }
  658.  
  659.  
  660. /* method: somDumpSelf */
  661. void   somDumpSelf(long level)
  662. {
  663.    SOM_ResolveD(this,SOMDObject,SOMObject,somDumpSelf)
  664.     (this,level);
  665. }
  666.  
  667.  
  668. /* method: somDumpSelfInt */
  669. void   somDumpSelfInt(long level)
  670. {
  671.    SOM_ResolveD(this,SOMDObject,SOMObject,somDumpSelfInt)
  672.     (this,level);
  673. }
  674.  
  675.  
  676.  
  677. };   /* SOMDObject */
  678.  
  679.  
  680.  
  681. #endif       /* SOM_SOMDObject_xh */
  682.