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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\BOA.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.  *    IDL interface spec for CORBA Basic Object Adapter.
  24.  * 
  25.  *    This is an abstract class which defines the CORBA-defined interface
  26.  *    for a Basic Object Adapter.
  27.  * 
  28.  *    The SOM Object Adapter interface is derived from this one.
  29.  *    SOMOA provides the actual implementation in DSOM.
  30.  */
  31.  
  32.  
  33. #ifndef SOM_BOA_xh
  34. #define SOM_BOA_xh
  35.  
  36. class BOA;
  37.  
  38. #define BOA_MajorVersion 2
  39. #define BOA_MinorVersion 1
  40.  
  41. /* C++ SOM defs */
  42. #include <somcls.xh>
  43. #include <somcm.xh>
  44.  
  45. /* C++ parent defs */
  46. #ifndef SOM_SOMObject_xh
  47. #include <somobj.xh>
  48. #endif
  49.  
  50. /*
  51.  * C++ metaclass def
  52.  */
  53. #include <snglicls.xh>
  54.  
  55. #ifndef BOA_API
  56. #define BOA_API
  57. /*
  58.  * -- The Class API
  59.  */
  60.  
  61. /*
  62.  * Start of user-defined types:
  63.  */
  64. class SOMClass;
  65. class SOMObject;
  66. class Container;
  67. class SOMDObject;
  68. class Principal;
  69. class ImplementationDef;
  70. class InterfaceDef;
  71. class Context;
  72.  
  73. /*
  74.  * End of user-defined types.
  75.  */
  76.  
  77. /* A procedure to create the BOA Class */
  78. class SOMMSingleInstance;
  79. SOMEXTERN
  80. #if (defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  81. WIN32_DLLEXPORT
  82. #else
  83. WIN32_DLLIMPORT
  84. #endif
  85. SOMMSingleInstance * SOMLINK BOANewClass(
  86.         integer4,
  87.         integer4 );
  88.  
  89. /* The API to the BOA class object, and the methods it introduces. */
  90. SOMEXTERN struct BOAClassDataStructure {
  91.     SOMMSingleInstance *classObject;
  92.     somMToken create;
  93.     somMToken dispose;
  94.     somMToken get_id;
  95.     somMToken change_implementation;
  96.     somMToken get_principal;
  97.     somMToken set_exception;
  98.     somMToken impl_is_ready;
  99.     somMToken deactivate_impl;
  100.     somMToken obj_is_ready;
  101.     somMToken deactivate_obj;
  102.     somMToken activate_impl;
  103.     somMToken activate_obj;
  104. }
  105. #if !(defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  106. WIN32_DLLIMPORT
  107. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  108. WIN32_DLLEXPORT
  109. #endif
  110. SOMDLINK BOAClassData;
  111. #define _BOA BOAClassData.classObject
  112.  
  113. /* The API to parentMtabs for BOA, and the instance data it introduces. */
  114. SOMEXTERN struct BOACClassDataStructure {
  115.     somMethodTabs parentMtab;
  116.     somDToken              instanceDataToken;
  117. }
  118. #if !(defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  119. WIN32_DLLIMPORT
  120. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  121. WIN32_DLLEXPORT
  122. #endif
  123. SOMDLINK BOACClassData;
  124.  
  125. /*
  126.  * -- Typedefs for BOA Method Procedures
  127.  */
  128. extern "C" {
  129. typedef SOMDObject*   SOMLINK somTP_BOA_create(BOA *somSelf, Environment *ev,
  130.         ReferenceData* id,
  131.         InterfaceDef* intf,
  132.         ImplementationDef* impl);
  133. typedef somTP_BOA_create *somTD_BOA_create;
  134. typedef void   SOMLINK somTP_BOA_dispose(BOA *somSelf, Environment *ev,
  135.         SOMDObject* obj);
  136. typedef somTP_BOA_dispose *somTD_BOA_dispose;
  137. typedef ReferenceData   SOMLINK somTP_BOA_get_id(BOA *somSelf, Environment *ev,
  138.         SOMDObject* obj);
  139. typedef somTP_BOA_get_id *somTD_BOA_get_id;
  140. typedef Principal*   SOMLINK somTP_BOA_get_principal(BOA *somSelf, Environment *ev,
  141.         SOMDObject* obj,
  142.         Environment* req_ev);
  143. typedef somTP_BOA_get_principal *somTD_BOA_get_principal;
  144. typedef void   SOMLINK somTP_BOA_set_exception(BOA *somSelf, Environment *ev,
  145.         exception_type major,
  146.         string userid,
  147.         void* param);
  148. typedef somTP_BOA_set_exception *somTD_BOA_set_exception;
  149. typedef void   SOMLINK somTP_BOA_impl_is_ready(BOA *somSelf, Environment *ev,
  150.         ImplementationDef* impl);
  151. typedef somTP_BOA_impl_is_ready *somTD_BOA_impl_is_ready;
  152. typedef void   SOMLINK somTP_BOA_deactivate_impl(BOA *somSelf, Environment *ev,
  153.         ImplementationDef* impl);
  154. typedef somTP_BOA_deactivate_impl *somTD_BOA_deactivate_impl;
  155. typedef void   SOMLINK somTP_BOA_change_implementation(BOA *somSelf, Environment *ev,
  156.         SOMDObject* obj,
  157.         ImplementationDef* impl);
  158. typedef somTP_BOA_change_implementation *somTD_BOA_change_implementation;
  159. typedef void   SOMLINK somTP_BOA_obj_is_ready(BOA *somSelf, Environment *ev,
  160.         SOMDObject* obj,
  161.         ImplementationDef* impl);
  162. typedef somTP_BOA_obj_is_ready *somTD_BOA_obj_is_ready;
  163. typedef void   SOMLINK somTP_BOA_deactivate_obj(BOA *somSelf, Environment *ev,
  164.         SOMDObject* obj);
  165. typedef somTP_BOA_deactivate_obj *somTD_BOA_deactivate_obj;
  166.  
  167. /*
  168.  * -- Typedefs for Reintroduced Wrapper Methods
  169.  */
  170. typedef void   SOMLINK somTP_BOA_somDefaultInit(BOA *somSelf,
  171.         somInitCtrl* ctrl);
  172. typedef somTP_BOA_somDefaultInit *somTD_BOA_somDefaultInit;
  173. typedef void   SOMLINK somTP_BOA_somDestruct(BOA *somSelf,
  174.         octet doFree,
  175.         somDestructCtrl* ctrl);
  176. typedef somTP_BOA_somDestruct *somTD_BOA_somDestruct;
  177. typedef void   SOMLINK somTP_BOA_somDefaultCopyInit(BOA *somSelf,
  178.         somInitCtrl* ctrl,
  179.         SOMObject* fromObj);
  180. typedef somTP_BOA_somDefaultCopyInit *somTD_BOA_somDefaultCopyInit;
  181. typedef BOA*   SOMLINK somTP_BOA_somDefaultAssign(BOA *somSelf,
  182.         somAssignCtrl* ctrl,
  183.         SOMObject* fromObj);
  184. typedef somTP_BOA_somDefaultAssign *somTD_BOA_somDefaultAssign;
  185. typedef void   SOMLINK somTP_BOA_somDefaultConstCopyInit(BOA *somSelf,
  186.         somInitCtrl* ctrl,
  187.         SOMObject* fromObj);
  188. typedef somTP_BOA_somDefaultConstCopyInit *somTD_BOA_somDefaultConstCopyInit;
  189. typedef void   SOMLINK somTP_BOA_somDefaultVCopyInit(BOA *somSelf,
  190.         somInitCtrl* ctrl,
  191.         SOMObject* fromObj);
  192. typedef somTP_BOA_somDefaultVCopyInit *somTD_BOA_somDefaultVCopyInit;
  193. typedef void   SOMLINK somTP_BOA_somDefaultConstVCopyInit(BOA *somSelf,
  194.         somInitCtrl* ctrl,
  195.         SOMObject* fromObj);
  196. typedef somTP_BOA_somDefaultConstVCopyInit *somTD_BOA_somDefaultConstVCopyInit;
  197. typedef BOA*   SOMLINK somTP_BOA_somDefaultConstAssign(BOA *somSelf,
  198.         somAssignCtrl* ctrl,
  199.         SOMObject* fromObj);
  200. typedef somTP_BOA_somDefaultConstAssign *somTD_BOA_somDefaultConstAssign;
  201. typedef BOA*   SOMLINK somTP_BOA_somDefaultVAssign(BOA *somSelf,
  202.         somAssignCtrl* ctrl,
  203.         SOMObject* fromObj);
  204. typedef somTP_BOA_somDefaultVAssign *somTD_BOA_somDefaultVAssign;
  205. typedef BOA*   SOMLINK somTP_BOA_somDefaultConstVAssign(BOA *somSelf,
  206.         somAssignCtrl* ctrl,
  207.         SOMObject* fromObj);
  208. typedef somTP_BOA_somDefaultConstVAssign *somTD_BOA_somDefaultConstVAssign;
  209. typedef void   SOMLINK somTP_BOA_somInit(BOA *somSelf);
  210. typedef somTP_BOA_somInit *somTD_BOA_somInit;
  211. typedef void   SOMLINK somTP_BOA_somFree(BOA *somSelf);
  212. typedef somTP_BOA_somFree *somTD_BOA_somFree;
  213. typedef void   SOMLINK somTP_BOA_somUninit(BOA *somSelf);
  214. typedef somTP_BOA_somUninit *somTD_BOA_somUninit;
  215. typedef SOMMSingleInstance*   SOMLINK somTP_BOA_somGetClass(BOA *somSelf);
  216. typedef somTP_BOA_somGetClass *somTD_BOA_somGetClass;
  217. typedef string   SOMLINK somTP_BOA_somGetClassName(BOA *somSelf);
  218. typedef somTP_BOA_somGetClassName *somTD_BOA_somGetClassName;
  219. typedef long   SOMLINK somTP_BOA_somGetSize(BOA *somSelf);
  220. typedef somTP_BOA_somGetSize *somTD_BOA_somGetSize;
  221. typedef boolean   SOMLINK somTP_BOA_somIsA(BOA *somSelf,
  222.         SOMClass* aClassObj);
  223. typedef somTP_BOA_somIsA *somTD_BOA_somIsA;
  224. typedef boolean   SOMLINK somTP_BOA_somIsInstanceOf(BOA *somSelf,
  225.         SOMClass* aClassObj);
  226. typedef somTP_BOA_somIsInstanceOf *somTD_BOA_somIsInstanceOf;
  227. typedef boolean   SOMLINK somTP_BOA_somRespondsTo(BOA *somSelf,
  228.         somId mId);
  229. typedef somTP_BOA_somRespondsTo *somTD_BOA_somRespondsTo;
  230. typedef boolean   SOMLINK somTP_BOA_somDispatch(BOA *somSelf,
  231.         somToken* retValue,
  232.         somId methodId,
  233.         va_list ap);
  234. typedef somTP_BOA_somDispatch *somTD_BOA_somDispatch;
  235. typedef boolean   SOMLINK somTP_BOA_somClassDispatch(BOA *somSelf,
  236.         SOMClass* clsObj,
  237.         somToken* retValue,
  238.         somId methodId,
  239.         va_list ap);
  240. typedef somTP_BOA_somClassDispatch *somTD_BOA_somClassDispatch;
  241. typedef boolean   SOMLINK somTP_BOA_somCastObj(BOA *somSelf,
  242.         SOMClass* cls);
  243. typedef somTP_BOA_somCastObj *somTD_BOA_somCastObj;
  244. typedef boolean   SOMLINK somTP_BOA_somResetObj(BOA *somSelf);
  245. typedef somTP_BOA_somResetObj *somTD_BOA_somResetObj;
  246. typedef SOMObject*   SOMLINK somTP_BOA_somPrintSelf(BOA *somSelf);
  247. typedef somTP_BOA_somPrintSelf *somTD_BOA_somPrintSelf;
  248. typedef void   SOMLINK somTP_BOA_somDumpSelf(BOA *somSelf,
  249.         long level);
  250. typedef somTP_BOA_somDumpSelf *somTD_BOA_somDumpSelf;
  251. typedef void   SOMLINK somTP_BOA_somDumpSelfInt(BOA *somSelf,
  252.         long level);
  253. typedef somTP_BOA_somDumpSelfInt *somTD_BOA_somDumpSelfInt;
  254. }
  255.  
  256. #endif /* BOA_API */
  257.  
  258.  
  259. /*
  260.  * -- This emitter believes that method thunks are unavailable,
  261.  * -- so somResolve will be called.
  262.  */
  263. #undef somresolve_
  264. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  265.  
  266. /*
  267.  * -- The C++ Wrapper Class for BOA
  268.  */
  269. class BOA : public SOMObject
  270. {
  271. public:
  272.  
  273. // BOA::new creates the class object if necessary, and then uses somNewNoInit
  274. // to allocate memory and create the object. Initialization is in ctors.
  275. void *operator new(size_t)
  276. {
  277.    if (!_BOA) BOANewClass(BOA_MajorVersion,BOA_MinorVersion);
  278.    return (void*)
  279.       SOM_Resolve(_BOA,SOMClass,somNewNoInit)
  280.          ((SOMClass *)((void*)_BOA));
  281. }
  282.  
  283. // BOA::delete uses somDestruct.
  284. void operator delete(void * obj)
  285. {
  286.    if (obj && *(void**)obj) {
  287.       SOM_Resolve(obj,SOMObject,somDestruct)
  288.          ((SOMObject*)obj, 1, 0);
  289.    }
  290. }
  291.  
  292. BOA()
  293. {
  294.    if (*(void**)this != 
  295.        ((somParentMtabStructPtr)
  296.         (BOACClassData.parentMtab))->mtab)
  297.       return;
  298.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  299. }
  300.  
  301. BOA(BOA* fromObj)
  302. {
  303.    if (*(void**)this != 
  304.        ((somParentMtabStructPtr)
  305.         (BOACClassData.parentMtab))->mtab)
  306.       return;
  307.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  308. }
  309.  
  310. BOA(const BOA* fromObj)
  311. {
  312.    if (*(void**)this != 
  313.        ((somParentMtabStructPtr)
  314.         (BOACClassData.parentMtab))->mtab)
  315.       return;
  316.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  317. }
  318.  
  319.  
  320. /* method: create */
  321. SOMDObject*   create(Environment *ev,
  322.         ReferenceData* id,
  323.         InterfaceDef* intf,
  324.         ImplementationDef* impl)
  325. {
  326.    return SOM_ResolveD(this,BOA,BOA,create)
  327.     (this, ev,id,intf,impl);
  328. }
  329.  
  330.  
  331. /* method: dispose */
  332. void   dispose(Environment *ev,
  333.         SOMDObject* obj)
  334. {
  335.    SOM_ResolveD(this,BOA,BOA,dispose)
  336.     (this, ev,obj);
  337. }
  338.  
  339.  
  340. /* method: get_id */
  341. ReferenceData   get_id(Environment *ev,
  342.         SOMDObject* obj)
  343. {
  344.    return SOM_ResolveD(this,BOA,BOA,get_id)
  345.     (this, ev,obj);
  346. }
  347.  
  348.  
  349. /* method: get_principal */
  350. Principal*   get_principal(Environment *ev,
  351.         SOMDObject* obj,
  352.         Environment* req_ev)
  353. {
  354.    return SOM_ResolveD(this,BOA,BOA,get_principal)
  355.     (this, ev,obj,req_ev);
  356. }
  357.  
  358.  
  359. /* method: set_exception */
  360. void   set_exception(Environment *ev,
  361.         exception_type major,
  362.         string userid,
  363.         void* param)
  364. {
  365.    SOM_ResolveD(this,BOA,BOA,set_exception)
  366.     (this, ev,major,userid,param);
  367. }
  368.  
  369.  
  370. /* method: impl_is_ready */
  371. void   impl_is_ready(Environment *ev,
  372.         ImplementationDef* impl)
  373. {
  374.    SOM_ResolveD(this,BOA,BOA,impl_is_ready)
  375.     (this, ev,impl);
  376. }
  377.  
  378.  
  379. /* method: deactivate_impl */
  380. void   deactivate_impl(Environment *ev,
  381.         ImplementationDef* impl)
  382. {
  383.    SOM_ResolveD(this,BOA,BOA,deactivate_impl)
  384.     (this, ev,impl);
  385. }
  386.  
  387.  
  388. /* method: change_implementation */
  389. void   change_implementation(Environment *ev,
  390.         SOMDObject* obj,
  391.         ImplementationDef* impl)
  392. {
  393.    SOM_ResolveD(this,BOA,BOA,change_implementation)
  394.     (this, ev,obj,impl);
  395. }
  396.  
  397.  
  398. /* method: obj_is_ready */
  399. void   obj_is_ready(Environment *ev,
  400.         SOMDObject* obj,
  401.         ImplementationDef* impl)
  402. {
  403.    SOM_ResolveD(this,BOA,BOA,obj_is_ready)
  404.     (this, ev,obj,impl);
  405. }
  406.  
  407.  
  408. /* method: deactivate_obj */
  409. void   deactivate_obj(Environment *ev,
  410.         SOMDObject* obj)
  411. {
  412.    SOM_ResolveD(this,BOA,BOA,deactivate_obj)
  413.     (this, ev,obj);
  414. }
  415.  
  416.  
  417. /*
  418.  * Reintroduce inherited methods
  419.  */
  420.  
  421. /* initializer method: somDefaultInit */
  422. void   somDefaultInit(somInitCtrl* ctrl)
  423. {
  424.    SOM_ResolveD(this,BOA,SOMObject,somDefaultInit)
  425.     (this,ctrl);
  426. }
  427.  
  428.  
  429. /* method: somDestruct */
  430. void   somDestruct(octet doFree,
  431.         somDestructCtrl* ctrl)
  432. {
  433.    SOM_ResolveD(this,BOA,SOMObject,somDestruct)
  434.     (this,doFree,ctrl);
  435. }
  436.  
  437.  
  438. /* initializer method: somDefaultCopyInit */
  439. void   somDefaultCopyInit(somInitCtrl* ctrl,
  440.         SOMObject* fromObj)
  441. {
  442.    SOM_ResolveD(this,BOA,SOMObject,somDefaultCopyInit)
  443.     (this,ctrl,fromObj);
  444. }
  445.  
  446.  
  447. /* method: somDefaultAssign */
  448. BOA*  somDefaultAssign(somAssignCtrl* ctrl,
  449.         SOMObject* fromObj)
  450. {
  451.    return SOM_ResolveD(this,BOA,SOMObject,somDefaultAssign)
  452.     (this,ctrl,fromObj);
  453. }
  454.  
  455.  
  456. /* initializer method: somDefaultConstCopyInit */
  457. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  458.         SOMObject* fromObj)
  459. {
  460.    SOM_ResolveD(this,BOA,SOMObject,somDefaultConstCopyInit)
  461.     (this,ctrl,fromObj);
  462. }
  463.  
  464.  
  465. /* initializer method: somDefaultVCopyInit */
  466. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  467.         SOMObject* fromObj)
  468. {
  469.    SOM_ResolveD(this,BOA,SOMObject,somDefaultVCopyInit)
  470.     (this,ctrl,fromObj);
  471. }
  472.  
  473.  
  474. /* initializer method: somDefaultConstVCopyInit */
  475. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  476.         SOMObject* fromObj)
  477. {
  478.    SOM_ResolveD(this,BOA,SOMObject,somDefaultConstVCopyInit)
  479.     (this,ctrl,fromObj);
  480. }
  481.  
  482.  
  483. /* method: somDefaultConstAssign */
  484. BOA*  somDefaultConstAssign(somAssignCtrl* ctrl,
  485.         SOMObject* fromObj)
  486. {
  487.    return SOM_ResolveD(this,BOA,SOMObject,somDefaultConstAssign)
  488.     (this,ctrl,fromObj);
  489. }
  490.  
  491.  
  492. /* method: somDefaultVAssign */
  493. BOA*  somDefaultVAssign(somAssignCtrl* ctrl,
  494.         SOMObject* fromObj)
  495. {
  496.    return SOM_ResolveD(this,BOA,SOMObject,somDefaultVAssign)
  497.     (this,ctrl,fromObj);
  498. }
  499.  
  500.  
  501. /* method: somDefaultConstVAssign */
  502. BOA*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  503.         SOMObject* fromObj)
  504. {
  505.    return SOM_ResolveD(this,BOA,SOMObject,somDefaultConstVAssign)
  506.     (this,ctrl,fromObj);
  507. }
  508.  
  509.  
  510. /* method: somInit */
  511. void   somInit()
  512. {
  513.    SOM_ResolveD(this,BOA,SOMObject,somInit)
  514.     (this);
  515. }
  516.  
  517.  
  518. /* method: somFree */
  519. void   somFree()
  520. {
  521.    SOM_ResolveD(this,BOA,SOMObject,somFree)
  522.     (this);
  523. }
  524.  
  525.  
  526. /* method: somUninit */
  527. void   somUninit()
  528. {
  529.    SOM_ResolveD(this,BOA,SOMObject,somUninit)
  530.     (this);
  531. }
  532.  
  533.  
  534. /* method: somGetClass */
  535. SOMMSingleInstance*  somGetClass()
  536. {
  537.    return SOM_ResolveD(this,BOA,SOMObject,somGetClass)
  538.     (this);
  539. }
  540.  
  541.  
  542. /* method: somGetClassName */
  543. string   somGetClassName()
  544. {
  545.    return SOM_ResolveD(this,BOA,SOMObject,somGetClassName)
  546.     (this);
  547. }
  548.  
  549.  
  550. /* method: somGetSize */
  551. long   somGetSize()
  552. {
  553.    return SOM_ResolveD(this,BOA,SOMObject,somGetSize)
  554.     (this);
  555. }
  556.  
  557.  
  558. /* method: somIsA */
  559. boolean   somIsA(SOMClass* aClassObj)
  560. {
  561.    return SOM_ResolveD(this,BOA,SOMObject,somIsA)
  562.     (this,aClassObj);
  563. }
  564.  
  565.  
  566. /* method: somIsInstanceOf */
  567. boolean   somIsInstanceOf(SOMClass* aClassObj)
  568. {
  569.    return SOM_ResolveD(this,BOA,SOMObject,somIsInstanceOf)
  570.     (this,aClassObj);
  571. }
  572.  
  573.  
  574. /* method: somRespondsTo */
  575. boolean   somRespondsTo(somId mId)
  576. {
  577.    return SOM_ResolveD(this,BOA,SOMObject,somRespondsTo)
  578.     (this,mId);
  579. }
  580.  
  581.  
  582. /* va_list method: somDispatch */
  583. /* the va_list invocation form */
  584. boolean   BOA_somDispatch(somToken* retValue,
  585.         somId methodId,
  586.         va_list ap)
  587. {
  588. return SOM_ResolveD(this,BOA,SOMObject,somDispatch)
  589.     (this,retValue,methodId,ap);
  590. }
  591.  
  592. /* the varargs invocation form */
  593. boolean   somDispatch(somToken* retValue,
  594.         somId methodId,
  595.         ...)
  596. {
  597.    va_list ap;
  598.    va_start(ap, methodId);
  599.    boolean __somResult = 
  600.       SOM_ResolveD(this,BOA,SOMObject,somDispatch)
  601.     (this,retValue,methodId,ap);
  602.    va_end(ap);
  603.    return __somResult;
  604. }
  605.  
  606.  
  607. /* va_list method: somClassDispatch */
  608. /* the va_list invocation form */
  609. boolean   BOA_somClassDispatch(SOMClass* clsObj,
  610.         somToken* retValue,
  611.         somId methodId,
  612.         va_list ap)
  613. {
  614. return SOM_ResolveD(this,BOA,SOMObject,somClassDispatch)
  615.     (this,clsObj,retValue,methodId,ap);
  616. }
  617.  
  618. /* the varargs invocation form */
  619. boolean   somClassDispatch(SOMClass* clsObj,
  620.         somToken* retValue,
  621.         somId methodId,
  622.         ...)
  623. {
  624.    va_list ap;
  625.    va_start(ap, methodId);
  626.    boolean __somResult = 
  627.       SOM_ResolveD(this,BOA,SOMObject,somClassDispatch)
  628.     (this,clsObj,retValue,methodId,ap);
  629.    va_end(ap);
  630.    return __somResult;
  631. }
  632.  
  633.  
  634. /* method: somCastObj */
  635. boolean   somCastObj(SOMClass* cls)
  636. {
  637.    return SOM_ResolveD(this,BOA,SOMObject,somCastObj)
  638.     (this,cls);
  639. }
  640.  
  641.  
  642. /* method: somResetObj */
  643. boolean   somResetObj()
  644. {
  645.    return SOM_ResolveD(this,BOA,SOMObject,somResetObj)
  646.     (this);
  647. }
  648.  
  649.  
  650. /* method: somPrintSelf */
  651. SOMObject*   somPrintSelf()
  652. {
  653.    return SOM_ResolveD(this,BOA,SOMObject,somPrintSelf)
  654.     (this);
  655. }
  656.  
  657.  
  658. /* method: somDumpSelf */
  659. void   somDumpSelf(long level)
  660. {
  661.    SOM_ResolveD(this,BOA,SOMObject,somDumpSelf)
  662.     (this,level);
  663. }
  664.  
  665.  
  666. /* method: somDumpSelfInt */
  667. void   somDumpSelfInt(long level)
  668. {
  669.    SOM_ResolveD(this,BOA,SOMObject,somDumpSelfInt)
  670.     (this,level);
  671. }
  672.  
  673.  
  674.  
  675. };   /* BOA */
  676.  
  677.  
  678.  
  679. #endif       /* SOM_BOA_xh */
  680.