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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\OM.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.  * 
  24.  *    IDL interface spec for generic Object Manager.
  25.  * 
  26.  *    The Object Manager (abstract) class provides a uniform abstraction
  27.  *    for various sorts of object managers.  Object Request Brokers, persistent
  28.  *    storage managers, and OODBMSs are examples of object managers.
  29.  * 
  30.  *    This is an abstract base class, which defines the "core" interface for
  31.  *    an object manager.  The basic groups of methods are:
  32.  * 
  33.  *      - object creation (basic)
  34.  *      - object identification & location/activation
  35.  *      - object release & destruction
  36.  * 
  37.  *    If a desired object cannot be mapped into the client's address space, the
  38.  *    object manager is responsible for building a local "proxy" for the remote
  39.  *    object.  The client invokes methods on the proxy, and the proxy should
  40.  *    redispatch the requests to the remote object in an appropriate and
  41.  *    transparent way.
  42.  * 
  43.  *    NOTE: Since this is only intended to be an abstract base class, there
  44.  *    is no underlying implementation, and ObjectMgr objects should not actually
  45.  *    be instantiated.
  46.  * 
  47.  */
  48.  
  49.  
  50. #ifndef SOM_ObjectMgr_xh
  51. #define SOM_ObjectMgr_xh
  52.  
  53. class ObjectMgr;
  54.  
  55. #define ObjectMgr_MajorVersion 2
  56. #define ObjectMgr_MinorVersion 1
  57.  
  58. /* C++ SOM defs */
  59. #include <somcls.xh>
  60. #include <somcm.xh>
  61.  
  62. /* C++ parent defs */
  63. #ifndef SOM_SOMObject_xh
  64. #include <somobj.xh>
  65. #endif
  66.  
  67. /*
  68.  * C++ metaclass def
  69.  */
  70. #include <snglicls.xh>
  71.  
  72. #ifndef ObjectMgr_API
  73. #define ObjectMgr_API
  74. /*
  75.  * -- The Class API
  76.  */
  77.  
  78. /*
  79.  * Start of user-defined types:
  80.  */
  81. class SOMClass;
  82. class SOMObject;
  83. class Container;
  84.  
  85. /*
  86.  * End of user-defined types.
  87.  */
  88.  
  89. /* A procedure to create the ObjectMgr Class */
  90. class SOMMSingleInstance;
  91. SOMEXTERN
  92. #if (defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
  93. WIN32_DLLEXPORT
  94. #else
  95. WIN32_DLLIMPORT
  96. #endif
  97. SOMMSingleInstance * SOMLINK ObjectMgrNewClass(
  98.         integer4,
  99.         integer4 );
  100.  
  101. /* The API to the ObjectMgr class object, and the methods it introduces. */
  102. SOMEXTERN struct ObjectMgrClassDataStructure {
  103.     SOMMSingleInstance *classObject;
  104.     somMToken somdNewObject;
  105.     somMToken somdGetIdFromObject;
  106.     somMToken somdGetObjectFromId;
  107.     somMToken somdReleaseObject;
  108.     somMToken somdDestroyObject;
  109. }
  110. #if !(defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
  111. WIN32_DLLIMPORT
  112. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  113. WIN32_DLLEXPORT
  114. #endif
  115. SOMDLINK ObjectMgrClassData;
  116. #define _ObjectMgr ObjectMgrClassData.classObject
  117.  
  118. /* The API to parentMtabs for ObjectMgr, and the instance data it introduces. */
  119. SOMEXTERN struct ObjectMgrCClassDataStructure {
  120.     somMethodTabs parentMtab;
  121.     somDToken              instanceDataToken;
  122. }
  123. #if !(defined(SOM_Module_OM_Source) || defined(ObjectMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ObjectMgr))
  124. WIN32_DLLIMPORT
  125. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  126. WIN32_DLLEXPORT
  127. #endif
  128. SOMDLINK ObjectMgrCClassData;
  129.  
  130. /*
  131.  * -- Typedefs for ObjectMgr Method Procedures
  132.  */
  133. extern "C" {
  134. typedef SOMObject*   SOMLINK somTP_ObjectMgr_somdNewObject(ObjectMgr *somSelf, Environment *ev,
  135.         Identifier objclass,
  136.         string hints);
  137. typedef somTP_ObjectMgr_somdNewObject *somTD_ObjectMgr_somdNewObject;
  138. typedef string   SOMLINK somTP_ObjectMgr_somdGetIdFromObject(ObjectMgr *somSelf, Environment *ev,
  139.         SOMObject* obj);
  140. typedef somTP_ObjectMgr_somdGetIdFromObject *somTD_ObjectMgr_somdGetIdFromObject;
  141. typedef SOMObject*   SOMLINK somTP_ObjectMgr_somdGetObjectFromId(ObjectMgr *somSelf, Environment *ev,
  142.         string id);
  143. typedef somTP_ObjectMgr_somdGetObjectFromId *somTD_ObjectMgr_somdGetObjectFromId;
  144. typedef void   SOMLINK somTP_ObjectMgr_somdReleaseObject(ObjectMgr *somSelf, Environment *ev,
  145.         SOMObject* obj);
  146. typedef somTP_ObjectMgr_somdReleaseObject *somTD_ObjectMgr_somdReleaseObject;
  147. typedef void   SOMLINK somTP_ObjectMgr_somdDestroyObject(ObjectMgr *somSelf, Environment *ev,
  148.         SOMObject* obj);
  149. typedef somTP_ObjectMgr_somdDestroyObject *somTD_ObjectMgr_somdDestroyObject;
  150.  
  151. /*
  152.  * -- Typedefs for Reintroduced Wrapper Methods
  153.  */
  154. typedef void   SOMLINK somTP_ObjectMgr_somDefaultInit(ObjectMgr *somSelf,
  155.         somInitCtrl* ctrl);
  156. typedef somTP_ObjectMgr_somDefaultInit *somTD_ObjectMgr_somDefaultInit;
  157. typedef void   SOMLINK somTP_ObjectMgr_somDestruct(ObjectMgr *somSelf,
  158.         octet doFree,
  159.         somDestructCtrl* ctrl);
  160. typedef somTP_ObjectMgr_somDestruct *somTD_ObjectMgr_somDestruct;
  161. typedef void   SOMLINK somTP_ObjectMgr_somDefaultCopyInit(ObjectMgr *somSelf,
  162.         somInitCtrl* ctrl,
  163.         SOMObject* fromObj);
  164. typedef somTP_ObjectMgr_somDefaultCopyInit *somTD_ObjectMgr_somDefaultCopyInit;
  165. typedef ObjectMgr*   SOMLINK somTP_ObjectMgr_somDefaultAssign(ObjectMgr *somSelf,
  166.         somAssignCtrl* ctrl,
  167.         SOMObject* fromObj);
  168. typedef somTP_ObjectMgr_somDefaultAssign *somTD_ObjectMgr_somDefaultAssign;
  169. typedef void   SOMLINK somTP_ObjectMgr_somDefaultConstCopyInit(ObjectMgr *somSelf,
  170.         somInitCtrl* ctrl,
  171.         SOMObject* fromObj);
  172. typedef somTP_ObjectMgr_somDefaultConstCopyInit *somTD_ObjectMgr_somDefaultConstCopyInit;
  173. typedef void   SOMLINK somTP_ObjectMgr_somDefaultVCopyInit(ObjectMgr *somSelf,
  174.         somInitCtrl* ctrl,
  175.         SOMObject* fromObj);
  176. typedef somTP_ObjectMgr_somDefaultVCopyInit *somTD_ObjectMgr_somDefaultVCopyInit;
  177. typedef void   SOMLINK somTP_ObjectMgr_somDefaultConstVCopyInit(ObjectMgr *somSelf,
  178.         somInitCtrl* ctrl,
  179.         SOMObject* fromObj);
  180. typedef somTP_ObjectMgr_somDefaultConstVCopyInit *somTD_ObjectMgr_somDefaultConstVCopyInit;
  181. typedef ObjectMgr*   SOMLINK somTP_ObjectMgr_somDefaultConstAssign(ObjectMgr *somSelf,
  182.         somAssignCtrl* ctrl,
  183.         SOMObject* fromObj);
  184. typedef somTP_ObjectMgr_somDefaultConstAssign *somTD_ObjectMgr_somDefaultConstAssign;
  185. typedef ObjectMgr*   SOMLINK somTP_ObjectMgr_somDefaultVAssign(ObjectMgr *somSelf,
  186.         somAssignCtrl* ctrl,
  187.         SOMObject* fromObj);
  188. typedef somTP_ObjectMgr_somDefaultVAssign *somTD_ObjectMgr_somDefaultVAssign;
  189. typedef ObjectMgr*   SOMLINK somTP_ObjectMgr_somDefaultConstVAssign(ObjectMgr *somSelf,
  190.         somAssignCtrl* ctrl,
  191.         SOMObject* fromObj);
  192. typedef somTP_ObjectMgr_somDefaultConstVAssign *somTD_ObjectMgr_somDefaultConstVAssign;
  193. typedef void   SOMLINK somTP_ObjectMgr_somInit(ObjectMgr *somSelf);
  194. typedef somTP_ObjectMgr_somInit *somTD_ObjectMgr_somInit;
  195. typedef void   SOMLINK somTP_ObjectMgr_somFree(ObjectMgr *somSelf);
  196. typedef somTP_ObjectMgr_somFree *somTD_ObjectMgr_somFree;
  197. typedef void   SOMLINK somTP_ObjectMgr_somUninit(ObjectMgr *somSelf);
  198. typedef somTP_ObjectMgr_somUninit *somTD_ObjectMgr_somUninit;
  199. typedef SOMMSingleInstance*   SOMLINK somTP_ObjectMgr_somGetClass(ObjectMgr *somSelf);
  200. typedef somTP_ObjectMgr_somGetClass *somTD_ObjectMgr_somGetClass;
  201. typedef string   SOMLINK somTP_ObjectMgr_somGetClassName(ObjectMgr *somSelf);
  202. typedef somTP_ObjectMgr_somGetClassName *somTD_ObjectMgr_somGetClassName;
  203. typedef long   SOMLINK somTP_ObjectMgr_somGetSize(ObjectMgr *somSelf);
  204. typedef somTP_ObjectMgr_somGetSize *somTD_ObjectMgr_somGetSize;
  205. typedef boolean   SOMLINK somTP_ObjectMgr_somIsA(ObjectMgr *somSelf,
  206.         SOMClass* aClassObj);
  207. typedef somTP_ObjectMgr_somIsA *somTD_ObjectMgr_somIsA;
  208. typedef boolean   SOMLINK somTP_ObjectMgr_somIsInstanceOf(ObjectMgr *somSelf,
  209.         SOMClass* aClassObj);
  210. typedef somTP_ObjectMgr_somIsInstanceOf *somTD_ObjectMgr_somIsInstanceOf;
  211. typedef boolean   SOMLINK somTP_ObjectMgr_somRespondsTo(ObjectMgr *somSelf,
  212.         somId mId);
  213. typedef somTP_ObjectMgr_somRespondsTo *somTD_ObjectMgr_somRespondsTo;
  214. typedef boolean   SOMLINK somTP_ObjectMgr_somDispatch(ObjectMgr *somSelf,
  215.         somToken* retValue,
  216.         somId methodId,
  217.         va_list ap);
  218. typedef somTP_ObjectMgr_somDispatch *somTD_ObjectMgr_somDispatch;
  219. typedef boolean   SOMLINK somTP_ObjectMgr_somClassDispatch(ObjectMgr *somSelf,
  220.         SOMClass* clsObj,
  221.         somToken* retValue,
  222.         somId methodId,
  223.         va_list ap);
  224. typedef somTP_ObjectMgr_somClassDispatch *somTD_ObjectMgr_somClassDispatch;
  225. typedef boolean   SOMLINK somTP_ObjectMgr_somCastObj(ObjectMgr *somSelf,
  226.         SOMClass* cls);
  227. typedef somTP_ObjectMgr_somCastObj *somTD_ObjectMgr_somCastObj;
  228. typedef boolean   SOMLINK somTP_ObjectMgr_somResetObj(ObjectMgr *somSelf);
  229. typedef somTP_ObjectMgr_somResetObj *somTD_ObjectMgr_somResetObj;
  230. typedef SOMObject*   SOMLINK somTP_ObjectMgr_somPrintSelf(ObjectMgr *somSelf);
  231. typedef somTP_ObjectMgr_somPrintSelf *somTD_ObjectMgr_somPrintSelf;
  232. typedef void   SOMLINK somTP_ObjectMgr_somDumpSelf(ObjectMgr *somSelf,
  233.         long level);
  234. typedef somTP_ObjectMgr_somDumpSelf *somTD_ObjectMgr_somDumpSelf;
  235. typedef void   SOMLINK somTP_ObjectMgr_somDumpSelfInt(ObjectMgr *somSelf,
  236.         long level);
  237. typedef somTP_ObjectMgr_somDumpSelfInt *somTD_ObjectMgr_somDumpSelfInt;
  238. }
  239.  
  240. #endif /* ObjectMgr_API */
  241.  
  242.  
  243. /*
  244.  * -- This emitter believes that method thunks are unavailable,
  245.  * -- so somResolve will be called.
  246.  */
  247. #undef somresolve_
  248. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  249.  
  250. /*
  251.  * -- The C++ Wrapper Class for ObjectMgr
  252.  */
  253. class ObjectMgr : public SOMObject
  254. {
  255. public:
  256.  
  257. // ObjectMgr::new creates the class object if necessary, and then uses somNewNoInit
  258. // to allocate memory and create the object. Initialization is in ctors.
  259. void *operator new(size_t)
  260. {
  261.    if (!_ObjectMgr) ObjectMgrNewClass(ObjectMgr_MajorVersion,ObjectMgr_MinorVersion);
  262.    return (void*)
  263.       SOM_Resolve(_ObjectMgr,SOMClass,somNewNoInit)
  264.          ((SOMClass *)((void*)_ObjectMgr));
  265. }
  266.  
  267. // ObjectMgr::delete uses somDestruct.
  268. void operator delete(void * obj)
  269. {
  270.    if (obj && *(void**)obj) {
  271.       SOM_Resolve(obj,SOMObject,somDestruct)
  272.          ((SOMObject*)obj, 1, 0);
  273.    }
  274. }
  275.  
  276. ObjectMgr()
  277. {
  278.    if (*(void**)this != 
  279.        ((somParentMtabStructPtr)
  280.         (ObjectMgrCClassData.parentMtab))->mtab)
  281.       return;
  282.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  283. }
  284.  
  285. ObjectMgr(ObjectMgr* fromObj)
  286. {
  287.    if (*(void**)this != 
  288.        ((somParentMtabStructPtr)
  289.         (ObjectMgrCClassData.parentMtab))->mtab)
  290.       return;
  291.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  292. }
  293.  
  294. ObjectMgr(const ObjectMgr* fromObj)
  295. {
  296.    if (*(void**)this != 
  297.        ((somParentMtabStructPtr)
  298.         (ObjectMgrCClassData.parentMtab))->mtab)
  299.       return;
  300.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  301. }
  302.  
  303.  
  304. /* method: somdNewObject */
  305. SOMObject*   somdNewObject(Environment *ev,
  306.         Identifier objclass,
  307.         string hints)
  308. {
  309.    return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdNewObject)
  310.     (this, ev,objclass,hints);
  311. }
  312.  
  313.  
  314. /* method: somdGetIdFromObject */
  315. string   somdGetIdFromObject(Environment *ev,
  316.         SOMObject* obj)
  317. {
  318.    return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdGetIdFromObject)
  319.     (this, ev,obj);
  320. }
  321.  
  322.  
  323. /* method: somdGetObjectFromId */
  324. SOMObject*   somdGetObjectFromId(Environment *ev,
  325.         string id)
  326. {
  327.    return SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdGetObjectFromId)
  328.     (this, ev,id);
  329. }
  330.  
  331.  
  332. /* method: somdReleaseObject */
  333. void   somdReleaseObject(Environment *ev,
  334.         SOMObject* obj)
  335. {
  336.    SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdReleaseObject)
  337.     (this, ev,obj);
  338. }
  339.  
  340.  
  341. /* method: somdDestroyObject */
  342. void   somdDestroyObject(Environment *ev,
  343.         SOMObject* obj)
  344. {
  345.    SOM_ResolveD(this,ObjectMgr,ObjectMgr,somdDestroyObject)
  346.     (this, ev,obj);
  347. }
  348.  
  349.  
  350. /*
  351.  * Reintroduce inherited methods
  352.  */
  353.  
  354. /* initializer method: somDefaultInit */
  355. void   somDefaultInit(somInitCtrl* ctrl)
  356. {
  357.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultInit)
  358.     (this,ctrl);
  359. }
  360.  
  361.  
  362. /* method: somDestruct */
  363. void   somDestruct(octet doFree,
  364.         somDestructCtrl* ctrl)
  365. {
  366.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDestruct)
  367.     (this,doFree,ctrl);
  368. }
  369.  
  370.  
  371. /* initializer method: somDefaultCopyInit */
  372. void   somDefaultCopyInit(somInitCtrl* ctrl,
  373.         SOMObject* fromObj)
  374. {
  375.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultCopyInit)
  376.     (this,ctrl,fromObj);
  377. }
  378.  
  379.  
  380. /* method: somDefaultAssign */
  381. ObjectMgr*  somDefaultAssign(somAssignCtrl* ctrl,
  382.         SOMObject* fromObj)
  383. {
  384.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultAssign)
  385.     (this,ctrl,fromObj);
  386. }
  387.  
  388.  
  389. /* initializer method: somDefaultConstCopyInit */
  390. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  391.         SOMObject* fromObj)
  392. {
  393.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstCopyInit)
  394.     (this,ctrl,fromObj);
  395. }
  396.  
  397.  
  398. /* initializer method: somDefaultVCopyInit */
  399. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  400.         SOMObject* fromObj)
  401. {
  402.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultVCopyInit)
  403.     (this,ctrl,fromObj);
  404. }
  405.  
  406.  
  407. /* initializer method: somDefaultConstVCopyInit */
  408. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  409.         SOMObject* fromObj)
  410. {
  411.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstVCopyInit)
  412.     (this,ctrl,fromObj);
  413. }
  414.  
  415.  
  416. /* method: somDefaultConstAssign */
  417. ObjectMgr*  somDefaultConstAssign(somAssignCtrl* ctrl,
  418.         SOMObject* fromObj)
  419. {
  420.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstAssign)
  421.     (this,ctrl,fromObj);
  422. }
  423.  
  424.  
  425. /* method: somDefaultVAssign */
  426. ObjectMgr*  somDefaultVAssign(somAssignCtrl* ctrl,
  427.         SOMObject* fromObj)
  428. {
  429.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultVAssign)
  430.     (this,ctrl,fromObj);
  431. }
  432.  
  433.  
  434. /* method: somDefaultConstVAssign */
  435. ObjectMgr*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  436.         SOMObject* fromObj)
  437. {
  438.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somDefaultConstVAssign)
  439.     (this,ctrl,fromObj);
  440. }
  441.  
  442.  
  443. /* method: somInit */
  444. void   somInit()
  445. {
  446.    SOM_ResolveD(this,ObjectMgr,SOMObject,somInit)
  447.     (this);
  448. }
  449.  
  450.  
  451. /* method: somFree */
  452. void   somFree()
  453. {
  454.    SOM_ResolveD(this,ObjectMgr,SOMObject,somFree)
  455.     (this);
  456. }
  457.  
  458.  
  459. /* method: somUninit */
  460. void   somUninit()
  461. {
  462.    SOM_ResolveD(this,ObjectMgr,SOMObject,somUninit)
  463.     (this);
  464. }
  465.  
  466.  
  467. /* method: somGetClass */
  468. SOMMSingleInstance*  somGetClass()
  469. {
  470.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetClass)
  471.     (this);
  472. }
  473.  
  474.  
  475. /* method: somGetClassName */
  476. string   somGetClassName()
  477. {
  478.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetClassName)
  479.     (this);
  480. }
  481.  
  482.  
  483. /* method: somGetSize */
  484. long   somGetSize()
  485. {
  486.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somGetSize)
  487.     (this);
  488. }
  489.  
  490.  
  491. /* method: somIsA */
  492. boolean   somIsA(SOMClass* aClassObj)
  493. {
  494.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somIsA)
  495.     (this,aClassObj);
  496. }
  497.  
  498.  
  499. /* method: somIsInstanceOf */
  500. boolean   somIsInstanceOf(SOMClass* aClassObj)
  501. {
  502.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somIsInstanceOf)
  503.     (this,aClassObj);
  504. }
  505.  
  506.  
  507. /* method: somRespondsTo */
  508. boolean   somRespondsTo(somId mId)
  509. {
  510.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somRespondsTo)
  511.     (this,mId);
  512. }
  513.  
  514.  
  515. /* va_list method: somDispatch */
  516. /* the va_list invocation form */
  517. boolean   ObjectMgr_somDispatch(somToken* retValue,
  518.         somId methodId,
  519.         va_list ap)
  520. {
  521. return SOM_ResolveD(this,ObjectMgr,SOMObject,somDispatch)
  522.     (this,retValue,methodId,ap);
  523. }
  524.  
  525. /* the varargs invocation form */
  526. boolean   somDispatch(somToken* retValue,
  527.         somId methodId,
  528.         ...)
  529. {
  530.    va_list ap;
  531.    va_start(ap, methodId);
  532.    boolean __somResult = 
  533.       SOM_ResolveD(this,ObjectMgr,SOMObject,somDispatch)
  534.     (this,retValue,methodId,ap);
  535.    va_end(ap);
  536.    return __somResult;
  537. }
  538.  
  539.  
  540. /* va_list method: somClassDispatch */
  541. /* the va_list invocation form */
  542. boolean   ObjectMgr_somClassDispatch(SOMClass* clsObj,
  543.         somToken* retValue,
  544.         somId methodId,
  545.         va_list ap)
  546. {
  547. return SOM_ResolveD(this,ObjectMgr,SOMObject,somClassDispatch)
  548.     (this,clsObj,retValue,methodId,ap);
  549. }
  550.  
  551. /* the varargs invocation form */
  552. boolean   somClassDispatch(SOMClass* clsObj,
  553.         somToken* retValue,
  554.         somId methodId,
  555.         ...)
  556. {
  557.    va_list ap;
  558.    va_start(ap, methodId);
  559.    boolean __somResult = 
  560.       SOM_ResolveD(this,ObjectMgr,SOMObject,somClassDispatch)
  561.     (this,clsObj,retValue,methodId,ap);
  562.    va_end(ap);
  563.    return __somResult;
  564. }
  565.  
  566.  
  567. /* method: somCastObj */
  568. boolean   somCastObj(SOMClass* cls)
  569. {
  570.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somCastObj)
  571.     (this,cls);
  572. }
  573.  
  574.  
  575. /* method: somResetObj */
  576. boolean   somResetObj()
  577. {
  578.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somResetObj)
  579.     (this);
  580. }
  581.  
  582.  
  583. /* method: somPrintSelf */
  584. SOMObject*   somPrintSelf()
  585. {
  586.    return SOM_ResolveD(this,ObjectMgr,SOMObject,somPrintSelf)
  587.     (this);
  588. }
  589.  
  590.  
  591. /* method: somDumpSelf */
  592. void   somDumpSelf(long level)
  593. {
  594.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDumpSelf)
  595.     (this,level);
  596. }
  597.  
  598.  
  599. /* method: somDumpSelfInt */
  600. void   somDumpSelfInt(long level)
  601. {
  602.    SOM_ResolveD(this,ObjectMgr,SOMObject,somDumpSelfInt)
  603.     (this,level);
  604. }
  605.  
  606.  
  607.  
  608. };   /* ObjectMgr */
  609.  
  610.  
  611.  
  612. #endif       /* SOM_ObjectMgr_xh */
  613.