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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\containr.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somi
  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.  *   Container: CORBA Interface for container objects
  24.  */
  25.  
  26.  
  27. #ifndef SOM_Container_xh
  28. #define SOM_Container_xh
  29.  
  30. class Container;
  31.  
  32. #define Container_MajorVersion 2
  33. #define Container_MinorVersion 1
  34.  
  35. /*
  36.  * Passthru lines: File: "C.xh", "before"
  37.  */
  38.  
  39.     #include <somtcnst.xh>
  40.     #include <stdio.h>
  41.     #include <somir.xh>
  42.     #include <containd.xh>
  43.  
  44.  
  45. /* C++ SOM defs */
  46. #include <somcls.xh>
  47. #include <somcm.xh>
  48.  
  49. /* C++ parent defs */
  50. #ifndef SOM_SOMObject_xh
  51. #include <somobj.xh>
  52. #endif
  53.  
  54. #ifndef Container_API
  55. #define Container_API
  56. /*
  57.  * -- The Class API
  58.  */
  59.  
  60. /*
  61.  * Start of user-defined types:
  62.  */
  63. class SOMClass;
  64. class SOMObject;
  65. class Contained;
  66. typedef
  67. string  Container_InterfaceName;
  68.  
  69. /*
  70.  * 
  71.  *  Valid values for InterfaceName are limited to the following set:
  72.  *      {"AttributeDef", "ConstantDef", "ExceptionDef", "InterfaceDef",
  73.  *       "ModuleDef", "ParameterDef", "OperationDef", "TypeDef", "all"}
  74.  */
  75. typedef
  76. struct Container_ContainerDescription {
  77. Contained* contained_object;
  78. Identifier name;
  79. any  value;
  80. } Container_ContainerDescription;
  81. #ifndef _IDL_SEQUENCE_Contained_defined
  82. #define _IDL_SEQUENCE_Contained_defined
  83. typedef struct {
  84.     unsigned long _maximum;
  85.     unsigned long _length;
  86.     Contained **_buffer;
  87. } _IDL_SEQUENCE_Contained;
  88. #endif /* _IDL_SEQUENCE_Contained_defined */ 
  89. struct Container_ContainerDescription;
  90. #ifndef _IDL_SEQUENCE_Container_ContainerDescription_defined
  91. #define _IDL_SEQUENCE_Container_ContainerDescription_defined
  92. typedef struct {
  93.     unsigned long _maximum;
  94.     unsigned long _length;
  95.     struct Container_ContainerDescription *_buffer;
  96. } _IDL_SEQUENCE_Container_ContainerDescription;
  97. #endif /* _IDL_SEQUENCE_Container_ContainerDescription_defined */ 
  98.  
  99. #ifndef SOM_DONT_USE_SHORT_NAMES
  100. #ifndef SOMTGD_InterfaceName
  101.     #ifdef InterfaceName
  102.         #undef InterfaceName
  103.         #define SOMTGD_InterfaceName 1
  104.     #else
  105.         #define InterfaceName Container_InterfaceName
  106.     #endif /* InterfaceName */
  107. #endif /* SOMTGD_InterfaceName */
  108. #endif /* SOM_DONT_USE_SHORT_NAMES */
  109.  
  110. #ifndef SOM_DONT_USE_SHORT_NAMES
  111. #ifndef SOMTGD_ContainerDescription
  112.     #ifdef ContainerDescription
  113.         #undef ContainerDescription
  114.         #define SOMTGD_ContainerDescription 1
  115.     #else
  116.         #define ContainerDescription Container_ContainerDescription
  117.     #endif /* ContainerDescription */
  118. #endif /* SOMTGD_ContainerDescription */
  119. #ifndef SOMTGD__IDL_SEQUENCE_ContainerDescription
  120.     #ifdef _IDL_SEQUENCE_ContainerDescription
  121.         #undef _IDL_SEQUENCE_ContainerDescription
  122.         #define SOMTGD__IDL_SEQUENCE_ContainerDescription 1
  123.     #else
  124.         #define _IDL_SEQUENCE_ContainerDescription _IDL_SEQUENCE_Container_ContainerDescription
  125.     #endif /* _IDL_SEQUENCE_ContainerDescription */
  126. #endif /* SOMTGD__IDL_SEQUENCE_ContainerDescription */
  127. #endif /* SOM_DONT_USE_SHORT_NAMES */
  128.  
  129. /*
  130.  * End of user-defined types.
  131.  */
  132.  
  133. /* A procedure to create the Container Class */
  134. SOMEXTERN
  135. #if (defined(SOM_Module_containr_Source) || defined(Container_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Container))
  136. WIN32_DLLEXPORT
  137. #else
  138. WIN32_DLLIMPORT
  139. #endif
  140. SOMClass * SOMLINK ContainerNewClass(
  141.         integer4,
  142.         integer4 );
  143.  
  144. /* The API to the Container class object, and the methods it introduces. */
  145. SOMEXTERN struct ContainerClassDataStructure {
  146.     SOMClass *classObject;
  147.     somMToken contents;
  148.     somMToken lookup_name;
  149.     somMToken describe_contents;
  150. }
  151. #if !(defined(SOM_Module_containr_Source) || defined(Container_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Container))
  152. WIN32_DLLIMPORT
  153. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  154. WIN32_DLLEXPORT
  155. #endif
  156. SOMDLINK ContainerClassData;
  157. #define _Container ContainerClassData.classObject
  158.  
  159. /* The API to parentMtabs for Container, and the instance data it introduces. */
  160. SOMEXTERN struct ContainerCClassDataStructure {
  161.     somMethodTabs parentMtab;
  162.     somDToken              instanceDataToken;
  163. }
  164. #if !(defined(SOM_Module_containr_Source) || defined(Container_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Container))
  165. WIN32_DLLIMPORT
  166. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  167. WIN32_DLLEXPORT
  168. #endif
  169. SOMDLINK ContainerCClassData;
  170.  
  171. /*
  172.  * -- Typedefs for Container Method Procedures
  173.  */
  174. extern "C" {
  175. typedef _IDL_SEQUENCE_Contained   SOMLINK somTP_Container_contents(Container *somSelf, Environment *ev,
  176.         Container_InterfaceName limit_type,
  177.         boolean exclude_inherited);
  178. typedef somTP_Container_contents *somTD_Container_contents;
  179. typedef _IDL_SEQUENCE_Contained   SOMLINK somTP_Container_lookup_name(Container *somSelf, Environment *ev,
  180.         Identifier search_name,
  181.         long levels_to_search,
  182.         Container_InterfaceName limit_type,
  183.         boolean exclude_inherited);
  184. typedef somTP_Container_lookup_name *somTD_Container_lookup_name;
  185. typedef _IDL_SEQUENCE_Container_ContainerDescription   SOMLINK somTP_Container_describe_contents(Container *somSelf, Environment *ev,
  186.         Container_InterfaceName limit_type,
  187.         boolean exclude_inherited,
  188.         long max_returned_objs);
  189. typedef somTP_Container_describe_contents *somTD_Container_describe_contents;
  190.  
  191. /*
  192.  * -- Typedefs for Reintroduced Wrapper Methods
  193.  */
  194. typedef void   SOMLINK somTP_Container_somDefaultInit(Container *somSelf,
  195.         somInitCtrl* ctrl);
  196. typedef somTP_Container_somDefaultInit *somTD_Container_somDefaultInit;
  197. typedef void   SOMLINK somTP_Container_somDestruct(Container *somSelf,
  198.         octet doFree,
  199.         somDestructCtrl* ctrl);
  200. typedef somTP_Container_somDestruct *somTD_Container_somDestruct;
  201. typedef void   SOMLINK somTP_Container_somDefaultCopyInit(Container *somSelf,
  202.         somInitCtrl* ctrl,
  203.         SOMObject* fromObj);
  204. typedef somTP_Container_somDefaultCopyInit *somTD_Container_somDefaultCopyInit;
  205. typedef Container*   SOMLINK somTP_Container_somDefaultAssign(Container *somSelf,
  206.         somAssignCtrl* ctrl,
  207.         SOMObject* fromObj);
  208. typedef somTP_Container_somDefaultAssign *somTD_Container_somDefaultAssign;
  209. typedef void   SOMLINK somTP_Container_somDefaultConstCopyInit(Container *somSelf,
  210.         somInitCtrl* ctrl,
  211.         SOMObject* fromObj);
  212. typedef somTP_Container_somDefaultConstCopyInit *somTD_Container_somDefaultConstCopyInit;
  213. typedef void   SOMLINK somTP_Container_somDefaultVCopyInit(Container *somSelf,
  214.         somInitCtrl* ctrl,
  215.         SOMObject* fromObj);
  216. typedef somTP_Container_somDefaultVCopyInit *somTD_Container_somDefaultVCopyInit;
  217. typedef void   SOMLINK somTP_Container_somDefaultConstVCopyInit(Container *somSelf,
  218.         somInitCtrl* ctrl,
  219.         SOMObject* fromObj);
  220. typedef somTP_Container_somDefaultConstVCopyInit *somTD_Container_somDefaultConstVCopyInit;
  221. typedef Container*   SOMLINK somTP_Container_somDefaultConstAssign(Container *somSelf,
  222.         somAssignCtrl* ctrl,
  223.         SOMObject* fromObj);
  224. typedef somTP_Container_somDefaultConstAssign *somTD_Container_somDefaultConstAssign;
  225. typedef Container*   SOMLINK somTP_Container_somDefaultVAssign(Container *somSelf,
  226.         somAssignCtrl* ctrl,
  227.         SOMObject* fromObj);
  228. typedef somTP_Container_somDefaultVAssign *somTD_Container_somDefaultVAssign;
  229. typedef Container*   SOMLINK somTP_Container_somDefaultConstVAssign(Container *somSelf,
  230.         somAssignCtrl* ctrl,
  231.         SOMObject* fromObj);
  232. typedef somTP_Container_somDefaultConstVAssign *somTD_Container_somDefaultConstVAssign;
  233. typedef void   SOMLINK somTP_Container_somInit(Container *somSelf);
  234. typedef somTP_Container_somInit *somTD_Container_somInit;
  235. typedef void   SOMLINK somTP_Container_somFree(Container *somSelf);
  236. typedef somTP_Container_somFree *somTD_Container_somFree;
  237. typedef void   SOMLINK somTP_Container_somUninit(Container *somSelf);
  238. typedef somTP_Container_somUninit *somTD_Container_somUninit;
  239. typedef SOMClass*   SOMLINK somTP_Container_somGetClass(Container *somSelf);
  240. typedef somTP_Container_somGetClass *somTD_Container_somGetClass;
  241. typedef string   SOMLINK somTP_Container_somGetClassName(Container *somSelf);
  242. typedef somTP_Container_somGetClassName *somTD_Container_somGetClassName;
  243. typedef long   SOMLINK somTP_Container_somGetSize(Container *somSelf);
  244. typedef somTP_Container_somGetSize *somTD_Container_somGetSize;
  245. typedef boolean   SOMLINK somTP_Container_somIsA(Container *somSelf,
  246.         SOMClass* aClassObj);
  247. typedef somTP_Container_somIsA *somTD_Container_somIsA;
  248. typedef boolean   SOMLINK somTP_Container_somIsInstanceOf(Container *somSelf,
  249.         SOMClass* aClassObj);
  250. typedef somTP_Container_somIsInstanceOf *somTD_Container_somIsInstanceOf;
  251. typedef boolean   SOMLINK somTP_Container_somRespondsTo(Container *somSelf,
  252.         somId mId);
  253. typedef somTP_Container_somRespondsTo *somTD_Container_somRespondsTo;
  254. typedef boolean   SOMLINK somTP_Container_somDispatch(Container *somSelf,
  255.         somToken* retValue,
  256.         somId methodId,
  257.         va_list ap);
  258. typedef somTP_Container_somDispatch *somTD_Container_somDispatch;
  259. typedef boolean   SOMLINK somTP_Container_somClassDispatch(Container *somSelf,
  260.         SOMClass* clsObj,
  261.         somToken* retValue,
  262.         somId methodId,
  263.         va_list ap);
  264. typedef somTP_Container_somClassDispatch *somTD_Container_somClassDispatch;
  265. typedef boolean   SOMLINK somTP_Container_somCastObj(Container *somSelf,
  266.         SOMClass* cls);
  267. typedef somTP_Container_somCastObj *somTD_Container_somCastObj;
  268. typedef boolean   SOMLINK somTP_Container_somResetObj(Container *somSelf);
  269. typedef somTP_Container_somResetObj *somTD_Container_somResetObj;
  270. typedef SOMObject*   SOMLINK somTP_Container_somPrintSelf(Container *somSelf);
  271. typedef somTP_Container_somPrintSelf *somTD_Container_somPrintSelf;
  272. typedef void   SOMLINK somTP_Container_somDumpSelf(Container *somSelf,
  273.         long level);
  274. typedef somTP_Container_somDumpSelf *somTD_Container_somDumpSelf;
  275. typedef void   SOMLINK somTP_Container_somDumpSelfInt(Container *somSelf,
  276.         long level);
  277. typedef somTP_Container_somDumpSelfInt *somTD_Container_somDumpSelfInt;
  278. }
  279.  
  280. #endif /* Container_API */
  281.  
  282.  
  283. /*
  284.  * -- This emitter believes that method thunks are unavailable,
  285.  * -- so somResolve will be called.
  286.  */
  287. #undef somresolve_
  288. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  289.  
  290. /*
  291.  * -- The C++ Wrapper Class for Container
  292.  */
  293. class Container : public SOMObject
  294. {
  295. public:
  296.  
  297. // Container::new creates the class object if necessary, and then uses somNewNoInit
  298. // to allocate memory and create the object. Initialization is in ctors.
  299. void *operator new(size_t)
  300. {
  301.    if (!_Container) ContainerNewClass(Container_MajorVersion,Container_MinorVersion);
  302.    return (void*)
  303.       SOM_Resolve(_Container,SOMClass,somNewNoInit)
  304.          ((SOMClass *)((void*)_Container));
  305. }
  306.  
  307. // Container::delete uses somDestruct.
  308. void operator delete(void * obj)
  309. {
  310.    if (obj && *(void**)obj) {
  311.       SOM_Resolve(obj,SOMObject,somDestruct)
  312.          ((SOMObject*)obj, 1, 0);
  313.    }
  314. }
  315.  
  316. Container()
  317. {
  318.    if (*(void**)this != 
  319.        ((somParentMtabStructPtr)
  320.         (ContainerCClassData.parentMtab))->mtab)
  321.       return;
  322.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  323. }
  324.  
  325. Container(Container* fromObj)
  326. {
  327.    if (*(void**)this != 
  328.        ((somParentMtabStructPtr)
  329.         (ContainerCClassData.parentMtab))->mtab)
  330.       return;
  331.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  332. }
  333.  
  334. Container(const Container* fromObj)
  335. {
  336.    if (*(void**)this != 
  337.        ((somParentMtabStructPtr)
  338.         (ContainerCClassData.parentMtab))->mtab)
  339.       return;
  340.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  341. }
  342.  
  343.  
  344. /* method: contents */
  345. _IDL_SEQUENCE_Contained   contents(Environment *ev,
  346.         Container_InterfaceName limit_type,
  347.         boolean exclude_inherited)
  348. {
  349.    return SOM_ResolveD(this,Container,Container,contents)
  350.     (this, ev,limit_type,exclude_inherited);
  351. }
  352.  
  353.  
  354. /* method: lookup_name */
  355. _IDL_SEQUENCE_Contained   lookup_name(Environment *ev,
  356.         Identifier search_name,
  357.         long levels_to_search,
  358.         Container_InterfaceName limit_type,
  359.         boolean exclude_inherited)
  360. {
  361.    return SOM_ResolveD(this,Container,Container,lookup_name)
  362.     (this, ev,search_name,levels_to_search,limit_type,exclude_inherited);
  363. }
  364.  
  365.  
  366. /* method: describe_contents */
  367. _IDL_SEQUENCE_Container_ContainerDescription   describe_contents(Environment *ev,
  368.         Container_InterfaceName limit_type,
  369.         boolean exclude_inherited,
  370.         long max_returned_objs)
  371. {
  372.    return SOM_ResolveD(this,Container,Container,describe_contents)
  373.     (this, ev,limit_type,exclude_inherited,max_returned_objs);
  374. }
  375.  
  376.  
  377. /*
  378.  * Reintroduce inherited methods
  379.  */
  380.  
  381. /* initializer method: somDefaultInit */
  382. void   somDefaultInit(somInitCtrl* ctrl)
  383. {
  384.    SOM_ResolveD(this,Container,SOMObject,somDefaultInit)
  385.     (this,ctrl);
  386. }
  387.  
  388.  
  389. /* method: somDestruct */
  390. void   somDestruct(octet doFree,
  391.         somDestructCtrl* ctrl)
  392. {
  393.    SOM_ResolveD(this,Container,SOMObject,somDestruct)
  394.     (this,doFree,ctrl);
  395. }
  396.  
  397.  
  398. /* initializer method: somDefaultCopyInit */
  399. void   somDefaultCopyInit(somInitCtrl* ctrl,
  400.         SOMObject* fromObj)
  401. {
  402.    SOM_ResolveD(this,Container,SOMObject,somDefaultCopyInit)
  403.     (this,ctrl,fromObj);
  404. }
  405.  
  406.  
  407. /* method: somDefaultAssign */
  408. Container*  somDefaultAssign(somAssignCtrl* ctrl,
  409.         SOMObject* fromObj)
  410. {
  411.    return SOM_ResolveD(this,Container,SOMObject,somDefaultAssign)
  412.     (this,ctrl,fromObj);
  413. }
  414.  
  415.  
  416. /* initializer method: somDefaultConstCopyInit */
  417. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  418.         SOMObject* fromObj)
  419. {
  420.    SOM_ResolveD(this,Container,SOMObject,somDefaultConstCopyInit)
  421.     (this,ctrl,fromObj);
  422. }
  423.  
  424.  
  425. /* initializer method: somDefaultVCopyInit */
  426. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  427.         SOMObject* fromObj)
  428. {
  429.    SOM_ResolveD(this,Container,SOMObject,somDefaultVCopyInit)
  430.     (this,ctrl,fromObj);
  431. }
  432.  
  433.  
  434. /* initializer method: somDefaultConstVCopyInit */
  435. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  436.         SOMObject* fromObj)
  437. {
  438.    SOM_ResolveD(this,Container,SOMObject,somDefaultConstVCopyInit)
  439.     (this,ctrl,fromObj);
  440. }
  441.  
  442.  
  443. /* method: somDefaultConstAssign */
  444. Container*  somDefaultConstAssign(somAssignCtrl* ctrl,
  445.         SOMObject* fromObj)
  446. {
  447.    return SOM_ResolveD(this,Container,SOMObject,somDefaultConstAssign)
  448.     (this,ctrl,fromObj);
  449. }
  450.  
  451.  
  452. /* method: somDefaultVAssign */
  453. Container*  somDefaultVAssign(somAssignCtrl* ctrl,
  454.         SOMObject* fromObj)
  455. {
  456.    return SOM_ResolveD(this,Container,SOMObject,somDefaultVAssign)
  457.     (this,ctrl,fromObj);
  458. }
  459.  
  460.  
  461. /* method: somDefaultConstVAssign */
  462. Container*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  463.         SOMObject* fromObj)
  464. {
  465.    return SOM_ResolveD(this,Container,SOMObject,somDefaultConstVAssign)
  466.     (this,ctrl,fromObj);
  467. }
  468.  
  469.  
  470. /* method: somInit */
  471. void   somInit()
  472. {
  473.    SOM_ResolveD(this,Container,SOMObject,somInit)
  474.     (this);
  475. }
  476.  
  477.  
  478. /* method: somFree */
  479. void   somFree()
  480. {
  481.    SOM_ResolveD(this,Container,SOMObject,somFree)
  482.     (this);
  483. }
  484.  
  485.  
  486. /* method: somUninit */
  487. void   somUninit()
  488. {
  489.    SOM_ResolveD(this,Container,SOMObject,somUninit)
  490.     (this);
  491. }
  492.  
  493.  
  494. /* method: somGetClass */
  495. SOMClass*   somGetClass()
  496. {
  497.    return SOM_ResolveD(this,Container,SOMObject,somGetClass)
  498.     (this);
  499. }
  500.  
  501.  
  502. /* method: somGetClassName */
  503. string   somGetClassName()
  504. {
  505.    return SOM_ResolveD(this,Container,SOMObject,somGetClassName)
  506.     (this);
  507. }
  508.  
  509.  
  510. /* method: somGetSize */
  511. long   somGetSize()
  512. {
  513.    return SOM_ResolveD(this,Container,SOMObject,somGetSize)
  514.     (this);
  515. }
  516.  
  517.  
  518. /* method: somIsA */
  519. boolean   somIsA(SOMClass* aClassObj)
  520. {
  521.    return SOM_ResolveD(this,Container,SOMObject,somIsA)
  522.     (this,aClassObj);
  523. }
  524.  
  525.  
  526. /* method: somIsInstanceOf */
  527. boolean   somIsInstanceOf(SOMClass* aClassObj)
  528. {
  529.    return SOM_ResolveD(this,Container,SOMObject,somIsInstanceOf)
  530.     (this,aClassObj);
  531. }
  532.  
  533.  
  534. /* method: somRespondsTo */
  535. boolean   somRespondsTo(somId mId)
  536. {
  537.    return SOM_ResolveD(this,Container,SOMObject,somRespondsTo)
  538.     (this,mId);
  539. }
  540.  
  541.  
  542. /* va_list method: somDispatch */
  543. /* the va_list invocation form */
  544. boolean   Container_somDispatch(somToken* retValue,
  545.         somId methodId,
  546.         va_list ap)
  547. {
  548. return SOM_ResolveD(this,Container,SOMObject,somDispatch)
  549.     (this,retValue,methodId,ap);
  550. }
  551.  
  552. /* the varargs invocation form */
  553. boolean   somDispatch(somToken* retValue,
  554.         somId methodId,
  555.         ...)
  556. {
  557.    va_list ap;
  558.    va_start(ap, methodId);
  559.    boolean __somResult = 
  560.       SOM_ResolveD(this,Container,SOMObject,somDispatch)
  561.     (this,retValue,methodId,ap);
  562.    va_end(ap);
  563.    return __somResult;
  564. }
  565.  
  566.  
  567. /* va_list method: somClassDispatch */
  568. /* the va_list invocation form */
  569. boolean   Container_somClassDispatch(SOMClass* clsObj,
  570.         somToken* retValue,
  571.         somId methodId,
  572.         va_list ap)
  573. {
  574. return SOM_ResolveD(this,Container,SOMObject,somClassDispatch)
  575.     (this,clsObj,retValue,methodId,ap);
  576. }
  577.  
  578. /* the varargs invocation form */
  579. boolean   somClassDispatch(SOMClass* clsObj,
  580.         somToken* retValue,
  581.         somId methodId,
  582.         ...)
  583. {
  584.    va_list ap;
  585.    va_start(ap, methodId);
  586.    boolean __somResult = 
  587.       SOM_ResolveD(this,Container,SOMObject,somClassDispatch)
  588.     (this,clsObj,retValue,methodId,ap);
  589.    va_end(ap);
  590.    return __somResult;
  591. }
  592.  
  593.  
  594. /* method: somCastObj */
  595. boolean   somCastObj(SOMClass* cls)
  596. {
  597.    return SOM_ResolveD(this,Container,SOMObject,somCastObj)
  598.     (this,cls);
  599. }
  600.  
  601.  
  602. /* method: somResetObj */
  603. boolean   somResetObj()
  604. {
  605.    return SOM_ResolveD(this,Container,SOMObject,somResetObj)
  606.     (this);
  607. }
  608.  
  609.  
  610. /* method: somPrintSelf */
  611. SOMObject*   somPrintSelf()
  612. {
  613.    return SOM_ResolveD(this,Container,SOMObject,somPrintSelf)
  614.     (this);
  615. }
  616.  
  617.  
  618. /* method: somDumpSelf */
  619. void   somDumpSelf(long level)
  620. {
  621.    SOM_ResolveD(this,Container,SOMObject,somDumpSelf)
  622.     (this,level);
  623. }
  624.  
  625.  
  626. /* method: somDumpSelfInt */
  627. void   somDumpSelfInt(long level)
  628. {
  629.    SOM_ResolveD(this,Container,SOMObject,somDumpSelfInt)
  630.     (this,level);
  631. }
  632.  
  633.  
  634.  
  635. };   /* Container */
  636.  
  637.  
  638.  
  639. #endif       /* SOM_Container_xh */
  640.