home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12otk1.exe / include / comp.xh < prev    next >
Text File  |  1997-04-02  |  18KB  |  674 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: F:\build\os2\ship\include\comp.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_Component_xh
  11. #define SOM_Component_xh
  12.  
  13. class Component;
  14.  
  15. #define Component_MajorVersion 1
  16. #define Component_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_SOMObject_xh
  24. #include <somobj.xh>
  25. #endif
  26.  
  27. #ifndef Component_API
  28. #define Component_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39. class ODFrame;
  40. class ODFacet;
  41. class ODPlatformCanvas;
  42. class Component;
  43.  
  44. /*
  45.  * End of bindings for IDL types.
  46.  */
  47.  
  48. /* A procedure to create the Component Class */
  49. SOMEXTERN SOMClass * SOMLINK ComponentNewClass(
  50.         integer4 majorVersion,
  51.         integer4 minorVersion);
  52.  
  53. /* The API to the Component class object, and the methods it introduces. */
  54. SOMEXTERN struct ComponentClassDataStructure {
  55.     SOMClass *classObject;
  56.     somMToken GetComponentInstanceError;
  57.     somMToken SetComponentInstanceError;
  58.     somMToken GetComponentVersion;
  59.     somMToken Reserved1;
  60. } SOMDLINK ComponentClassData;
  61. #define _Component ComponentClassData.classObject
  62.  
  63. /* The API to parentMtabs for Component, and the instance data it introduces. */
  64. SOMEXTERN struct ComponentCClassDataStructure {
  65.     somMethodTabs parentMtab;
  66.     somDToken              instanceDataToken;
  67. } SOMDLINK ComponentCClassData;
  68.  
  69. /*
  70.  * -- Typedefs for Component Method Procedures
  71.  */
  72. SOMEXTERN {
  73. typedef OSErr   SOMLINK somTP_Component_GetComponentInstanceError(Component *somSelf, Environment *ev);
  74. typedef somTP_Component_GetComponentInstanceError *somTD_Component_GetComponentInstanceError;
  75. typedef void   SOMLINK somTP_Component_SetComponentInstanceError(Component *somSelf, Environment *ev, 
  76.         OSErr theError);
  77. typedef somTP_Component_SetComponentInstanceError *somTD_Component_SetComponentInstanceError;
  78. typedef ODULong   SOMLINK somTP_Component_GetComponentVersion(Component *somSelf, Environment *ev);
  79. typedef somTP_Component_GetComponentVersion *somTD_Component_GetComponentVersion;
  80.  
  81. /*
  82.  * -- Typedefs for Reintroduced Wrapper Methods
  83.  */
  84. typedef void   SOMLINK somTP_Component_somDefaultInit(Component *somSelf, 
  85.         som3InitCtrl* ctrl);
  86. typedef somTP_Component_somDefaultInit *somTD_Component_somDefaultInit;
  87. typedef void   SOMLINK somTP_Component_somDestruct(Component *somSelf, 
  88.         octet doFree, 
  89.         som3DestructCtrl* ctrl);
  90. typedef somTP_Component_somDestruct *somTD_Component_somDestruct;
  91. typedef void   SOMLINK somTP_Component_somDefaultCopyInit(Component *somSelf, 
  92.         som3InitCtrl* ctrl, 
  93.         SOMObject* fromObj);
  94. typedef somTP_Component_somDefaultCopyInit *somTD_Component_somDefaultCopyInit;
  95. typedef Component*   SOMLINK somTP_Component_somDefaultAssign(Component *somSelf, 
  96.         som3AssignCtrl* ctrl, 
  97.         SOMObject* fromObj);
  98. typedef somTP_Component_somDefaultAssign *somTD_Component_somDefaultAssign;
  99. typedef void   SOMLINK somTP_Component_somDefaultConstCopyInit(Component *somSelf, 
  100.         som3InitCtrl* ctrl, 
  101.         SOMObject* fromObj);
  102. typedef somTP_Component_somDefaultConstCopyInit *somTD_Component_somDefaultConstCopyInit;
  103. typedef void   SOMLINK somTP_Component_somDefaultVCopyInit(Component *somSelf, 
  104.         som3InitCtrl* ctrl, 
  105.         SOMObject* fromObj);
  106. typedef somTP_Component_somDefaultVCopyInit *somTD_Component_somDefaultVCopyInit;
  107. typedef void   SOMLINK somTP_Component_somDefaultConstVCopyInit(Component *somSelf, 
  108.         som3InitCtrl* ctrl, 
  109.         SOMObject* fromObj);
  110. typedef somTP_Component_somDefaultConstVCopyInit *somTD_Component_somDefaultConstVCopyInit;
  111. typedef Component*   SOMLINK somTP_Component_somDefaultConstAssign(Component *somSelf, 
  112.         som3AssignCtrl* ctrl, 
  113.         SOMObject* fromObj);
  114. typedef somTP_Component_somDefaultConstAssign *somTD_Component_somDefaultConstAssign;
  115. typedef Component*   SOMLINK somTP_Component_somDefaultVAssign(Component *somSelf, 
  116.         som3AssignCtrl* ctrl, 
  117.         SOMObject* fromObj);
  118. typedef somTP_Component_somDefaultVAssign *somTD_Component_somDefaultVAssign;
  119. typedef Component*   SOMLINK somTP_Component_somDefaultConstVAssign(Component *somSelf, 
  120.         som3AssignCtrl* ctrl, 
  121.         SOMObject* fromObj);
  122. typedef somTP_Component_somDefaultConstVAssign *somTD_Component_somDefaultConstVAssign;
  123. typedef void   SOMLINK somTP_Component_somInit(Component *somSelf);
  124. typedef somTP_Component_somInit *somTD_Component_somInit;
  125. typedef void   SOMLINK somTP_Component_somFree(Component *somSelf);
  126. typedef somTP_Component_somFree *somTD_Component_somFree;
  127. typedef void   SOMLINK somTP_Component_somUninit(Component *somSelf);
  128. typedef somTP_Component_somUninit *somTD_Component_somUninit;
  129. typedef SOMClass*   SOMLINK somTP_Component_somGetClass(Component *somSelf);
  130. typedef somTP_Component_somGetClass *somTD_Component_somGetClass;
  131. typedef string   SOMLINK somTP_Component_somGetClassName(Component *somSelf);
  132. typedef somTP_Component_somGetClassName *somTD_Component_somGetClassName;
  133. typedef long   SOMLINK somTP_Component_somGetSize(Component *somSelf);
  134. typedef somTP_Component_somGetSize *somTD_Component_somGetSize;
  135. typedef boolean   SOMLINK somTP_Component_somIsA(Component *somSelf, 
  136.         SOMClass* aClassObj);
  137. typedef somTP_Component_somIsA *somTD_Component_somIsA;
  138. typedef boolean   SOMLINK somTP_Component_somIsInstanceOf(Component *somSelf, 
  139.         SOMClass* aClassObj);
  140. typedef somTP_Component_somIsInstanceOf *somTD_Component_somIsInstanceOf;
  141. typedef boolean   SOMLINK somTP_Component_somRespondsTo(Component *somSelf, 
  142.         somId mId);
  143. typedef somTP_Component_somRespondsTo *somTD_Component_somRespondsTo;
  144. typedef boolean   SOMLINK somTP_Component_somDispatch(Component *somSelf, 
  145.         somToken* retValue, 
  146.         somId methodId, 
  147.         va_list ap);
  148. typedef somTP_Component_somDispatch *somTD_Component_somDispatch;
  149. typedef boolean   SOMLINK somTP_Component_somClassDispatch(Component *somSelf, 
  150.         SOMClass* clsObj, 
  151.         somToken* retValue, 
  152.         somId methodId, 
  153.         va_list ap);
  154. typedef somTP_Component_somClassDispatch *somTD_Component_somClassDispatch;
  155. typedef boolean   SOMLINK somTP_Component_somCastObj(Component *somSelf, 
  156.         SOMClass* cls);
  157. typedef somTP_Component_somCastObj *somTD_Component_somCastObj;
  158. typedef boolean   SOMLINK somTP_Component_somResetObj(Component *somSelf);
  159. typedef somTP_Component_somResetObj *somTD_Component_somResetObj;
  160. typedef void   SOMLINK somTP_Component_somDispatchV(Component *somSelf, 
  161.         somId methodId, 
  162.         somId descriptor, 
  163.         va_list ap);
  164. typedef somTP_Component_somDispatchV *somTD_Component_somDispatchV;
  165. typedef long   SOMLINK somTP_Component_somDispatchL(Component *somSelf, 
  166.         somId methodId, 
  167.         somId descriptor, 
  168.         va_list ap);
  169. typedef somTP_Component_somDispatchL *somTD_Component_somDispatchL;
  170. typedef void*   SOMLINK somTP_Component_somDispatchA(Component *somSelf, 
  171.         somId methodId, 
  172.         somId descriptor, 
  173.         va_list ap);
  174. typedef somTP_Component_somDispatchA *somTD_Component_somDispatchA;
  175. typedef double   SOMLINK somTP_Component_somDispatchD(Component *somSelf, 
  176.         somId methodId, 
  177.         somId descriptor, 
  178.         va_list ap);
  179. typedef somTP_Component_somDispatchD *somTD_Component_somDispatchD;
  180. typedef SOMObject*   SOMLINK somTP_Component_somPrintSelf(Component *somSelf);
  181. typedef somTP_Component_somPrintSelf *somTD_Component_somPrintSelf;
  182. typedef void   SOMLINK somTP_Component_somDumpSelf(Component *somSelf, 
  183.         long level);
  184. typedef somTP_Component_somDumpSelf *somTD_Component_somDumpSelf;
  185. typedef void   SOMLINK somTP_Component_somDumpSelfInt(Component *somSelf, 
  186.         long level);
  187. typedef somTP_Component_somDumpSelfInt *somTD_Component_somDumpSelfInt;
  188. }
  189.  
  190. #endif /* Component_API */
  191.  
  192.  
  193. /*
  194.  * -- This emitter treats Method Tokens as Thunks by default.
  195.  * -- Use the sc modifier "nothunks" to change this default
  196.  */
  197. #undef somresolve_
  198. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  199.  
  200. /*
  201.  * -- The C++ Wrapper Class for Component
  202.  */
  203. class Component : public SOMObject
  204. {
  205. public:
  206.  
  207. // Component::new creates the class object if necessary, and then uses somNewNoInit
  208. // to allocate memory and create the object. Initialization is in ctors.
  209. void *operator new(size_t)
  210. {
  211.    if (!_Component) ComponentNewClass(Component_MajorVersion,Component_MinorVersion);
  212.    return (void*)
  213.       SOM_Resolve(_Component,SOMClass,somNewNoInit)
  214.          ((SOMClass *)((void*)_Component));
  215. }
  216.  
  217. // Component::delete uses somDestruct.
  218. void operator delete(void * obj)
  219. {
  220.    if (obj && *(void**)obj) {
  221.       SOM_Resolve(obj,SOMObject,somFree)
  222.          ((SOMObject*)obj);
  223.    }
  224. }
  225.  
  226. Component& operator=(Component& fromObj)
  227. {
  228.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  229.    return *this;
  230. }
  231.  
  232. Component()
  233. {
  234.    if (*(void**)this != 
  235.        ((somParentMtabStructPtr)
  236.         (ComponentCClassData.parentMtab))->mtab)
  237.       return;
  238.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  239. }
  240.  
  241. Component(Component* fromObj)
  242. {
  243.    if (*(void**)this != 
  244.        ((somParentMtabStructPtr)
  245.         (ComponentCClassData.parentMtab))->mtab)
  246.       return;
  247.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  248. }
  249.  
  250. #ifdef __IBMCPP__
  251. #pragma info(nocnv,nopar)
  252. #endif
  253. Component(const Component* fromObj)
  254. {
  255.    if (*(void**)this != 
  256.        ((somParentMtabStructPtr)
  257.         (ComponentCClassData.parentMtab))->mtab)
  258.       return;
  259.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  260. }
  261. #ifdef __IBMCPP__
  262. #pragma info(restore)
  263. #endif
  264.  
  265.  
  266. /* method: GetComponentInstanceError */
  267. OSErr   GetComponentInstanceError(Environment *ev)
  268. {
  269. #ifdef SOMCHKEXCEPT
  270.    OSErr __somResult = 
  271.       SOM_ResolveD(this,Component,Component,GetComponentInstanceError)
  272.     (this, ev);
  273.    if ( ev->_major != NO_EXCEPTION )
  274.       SOMCHKEXCEPT;
  275.    return __somResult;
  276. #else
  277.    return SOM_ResolveD(this,Component,Component,GetComponentInstanceError)
  278.     (this, ev);
  279. #endif
  280. }
  281.  
  282.  
  283. /* method: SetComponentInstanceError */
  284. void   SetComponentInstanceError(Environment *ev, 
  285.         OSErr theError)
  286. {
  287.    SOM_ResolveD(this,Component,Component,SetComponentInstanceError)
  288.     (this, ev,theError);
  289. #ifdef SOMCHKEXCEPT
  290.    if ( ev->_major != NO_EXCEPTION )
  291.       SOMCHKEXCEPT;
  292. #endif
  293. }
  294.  
  295.  
  296. /* method: GetComponentVersion */
  297. ODULong   GetComponentVersion(Environment *ev)
  298. {
  299. #ifdef SOMCHKEXCEPT
  300.    ODULong __somResult = 
  301.       SOM_ResolveD(this,Component,Component,GetComponentVersion)
  302.     (this, ev);
  303.    if ( ev->_major != NO_EXCEPTION )
  304.       SOMCHKEXCEPT;
  305.    return __somResult;
  306. #else
  307.    return SOM_ResolveD(this,Component,Component,GetComponentVersion)
  308.     (this, ev);
  309. #endif
  310. }
  311.  
  312.  
  313. /*
  314.  * Reintroduce inherited methods
  315.  */
  316.  
  317. /* initializer method: somDefaultInit */
  318. void   somDefaultInit(som3InitCtrl* ctrl)
  319. {
  320.    SOM_ResolveD(this,Component,SOMObject,somDefaultInit)
  321.     (this,ctrl);
  322. }
  323.  
  324.  
  325. /* method: somDestruct */
  326. void   somDestruct(octet doFree, 
  327.         som3DestructCtrl* ctrl)
  328. {
  329.    SOM_ResolveD(this,Component,SOMObject,somDestruct)
  330.     (this,doFree,ctrl);
  331. }
  332.  
  333.  
  334. /* initializer method: somDefaultCopyInit */
  335. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  336.         SOMObject* fromObj)
  337. {
  338.    SOM_ResolveD(this,Component,SOMObject,somDefaultCopyInit)
  339.     (this,ctrl,fromObj);
  340. }
  341.  
  342.  
  343. /* method: somDefaultAssign */
  344. Component*  somDefaultAssign(som3AssignCtrl* ctrl, 
  345.         SOMObject* fromObj)
  346. {
  347.    return SOM_ResolveD(this,Component,SOMObject,somDefaultAssign)
  348.     (this,ctrl,fromObj);
  349. }
  350.  
  351.  
  352. /* initializer method: somDefaultConstCopyInit */
  353. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  354.         SOMObject* fromObj)
  355. {
  356.    SOM_ResolveD(this,Component,SOMObject,somDefaultConstCopyInit)
  357.     (this,ctrl,fromObj);
  358. }
  359.  
  360.  
  361. /* initializer method: somDefaultVCopyInit */
  362. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  363.         SOMObject* fromObj)
  364. {
  365.    SOM_ResolveD(this,Component,SOMObject,somDefaultVCopyInit)
  366.     (this,ctrl,fromObj);
  367. }
  368.  
  369.  
  370. /* initializer method: somDefaultConstVCopyInit */
  371. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  372.         SOMObject* fromObj)
  373. {
  374.    SOM_ResolveD(this,Component,SOMObject,somDefaultConstVCopyInit)
  375.     (this,ctrl,fromObj);
  376. }
  377.  
  378.  
  379. /* method: somDefaultConstAssign */
  380. Component*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  381.         SOMObject* fromObj)
  382. {
  383.    return SOM_ResolveD(this,Component,SOMObject,somDefaultConstAssign)
  384.     (this,ctrl,fromObj);
  385. }
  386.  
  387.  
  388. /* method: somDefaultVAssign */
  389. Component*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  390.         SOMObject* fromObj)
  391. {
  392.    return SOM_ResolveD(this,Component,SOMObject,somDefaultVAssign)
  393.     (this,ctrl,fromObj);
  394. }
  395.  
  396.  
  397. /* method: somDefaultConstVAssign */
  398. Component*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  399.         SOMObject* fromObj)
  400. {
  401.    return SOM_ResolveD(this,Component,SOMObject,somDefaultConstVAssign)
  402.     (this,ctrl,fromObj);
  403. }
  404.  
  405.  
  406. /* method: somInit */
  407. void   somInit()
  408. {
  409.    SOM_ResolveD(this,Component,SOMObject,somInit)
  410.     (this);
  411. }
  412.  
  413.  
  414. /* method: somFree */
  415. void   somFree()
  416. {
  417.    SOM_ResolveD(this,Component,SOMObject,somFree)
  418.     (this);
  419. }
  420.  
  421.  
  422. /* method: somUninit */
  423. void   somUninit()
  424. {
  425.    SOM_ResolveD(this,Component,SOMObject,somUninit)
  426.     (this);
  427. }
  428.  
  429.  
  430. /* method: somGetClass */
  431. SOMClass*   somGetClass()
  432. {
  433.    return SOM_ResolveD(this,Component,SOMObject,somGetClass)
  434.     (this);
  435. }
  436.  
  437.  
  438. /* method: somGetClassName */
  439. string   somGetClassName()
  440. {
  441.    return SOM_ResolveD(this,Component,SOMObject,somGetClassName)
  442.     (this);
  443. }
  444.  
  445.  
  446. /* method: somGetSize */
  447. long   somGetSize()
  448. {
  449.    return SOM_ResolveD(this,Component,SOMObject,somGetSize)
  450.     (this);
  451. }
  452.  
  453.  
  454. /* method: somIsA */
  455. boolean   somIsA(SOMClass* aClassObj)
  456. {
  457.    return SOM_ResolveD(this,Component,SOMObject,somIsA)
  458.     (this,aClassObj);
  459. }
  460.  
  461.  
  462. /* method: somIsInstanceOf */
  463. boolean   somIsInstanceOf(SOMClass* aClassObj)
  464. {
  465.    return SOM_ResolveD(this,Component,SOMObject,somIsInstanceOf)
  466.     (this,aClassObj);
  467. }
  468.  
  469.  
  470. /* method: somRespondsTo */
  471. boolean   somRespondsTo(somId mId)
  472. {
  473.    return SOM_ResolveD(this,Component,SOMObject,somRespondsTo)
  474.     (this,mId);
  475. }
  476.  
  477.  
  478. /* va_list method: somDispatch */
  479.  
  480. /* the va_list invocation form */
  481. boolean   Component_somDispatch(somToken* retValue, 
  482.         somId methodId, 
  483.         va_list ap)
  484. {return SOM_ResolveD(this,Component,SOMObject,somDispatch)
  485.     (this,retValue,methodId,ap);
  486. }
  487.  
  488. /* the varargs invocation form */
  489. boolean   somDispatch(somToken* retValue, 
  490.         somId methodId, 
  491.         ...)
  492. {
  493.    va_list ap;
  494.    va_start(ap, methodId);
  495.    boolean __somResult = 
  496.       SOM_ResolveD(this,Component,SOMObject,somDispatch)
  497.     (this,retValue,methodId,ap);
  498.    va_end(ap);
  499.    return __somResult;
  500. }
  501.  
  502.  
  503. /* va_list method: somClassDispatch */
  504.  
  505. /* the va_list invocation form */
  506. boolean   Component_somClassDispatch(SOMClass* clsObj, 
  507.         somToken* retValue, 
  508.         somId methodId, 
  509.         va_list ap)
  510. {return SOM_ResolveD(this,Component,SOMObject,somClassDispatch)
  511.     (this,clsObj,retValue,methodId,ap);
  512. }
  513.  
  514. /* the varargs invocation form */
  515. boolean   somClassDispatch(SOMClass* clsObj, 
  516.         somToken* retValue, 
  517.         somId methodId, 
  518.         ...)
  519. {
  520.    va_list ap;
  521.    va_start(ap, methodId);
  522.    boolean __somResult = 
  523.       SOM_ResolveD(this,Component,SOMObject,somClassDispatch)
  524.     (this,clsObj,retValue,methodId,ap);
  525.    va_end(ap);
  526.    return __somResult;
  527. }
  528.  
  529.  
  530. /* method: somCastObj */
  531. boolean   somCastObj(SOMClass* cls)
  532. {
  533.    return SOM_ResolveD(this,Component,SOMObject,somCastObj)
  534.     (this,cls);
  535. }
  536.  
  537.  
  538. /* method: somResetObj */
  539. boolean   somResetObj()
  540. {
  541.    return SOM_ResolveD(this,Component,SOMObject,somResetObj)
  542.     (this);
  543. }
  544.  
  545.  
  546. /* va_list method: somDispatchV */
  547.  
  548. /* the va_list invocation form */
  549. void   Component_somDispatchV(somId methodId, 
  550.         somId descriptor, 
  551.         va_list ap)
  552. {   SOM_ResolveD(this,Component,SOMObject,somDispatchV)
  553.     (this,methodId,descriptor,ap);
  554. }
  555.  
  556. /* the varargs invocation form */
  557. void   somDispatchV(somId methodId, 
  558.         somId descriptor, 
  559.         ...)
  560. {
  561.    va_list ap;
  562.    va_start(ap, descriptor);
  563.    SOM_ResolveD(this,Component,SOMObject,somDispatchV)
  564.     (this,methodId,descriptor,ap);
  565.    va_end(ap);
  566. }
  567.  
  568.  
  569. /* va_list method: somDispatchL */
  570.  
  571. /* the va_list invocation form */
  572. long   Component_somDispatchL(somId methodId, 
  573.         somId descriptor, 
  574.         va_list ap)
  575. {return SOM_ResolveD(this,Component,SOMObject,somDispatchL)
  576.     (this,methodId,descriptor,ap);
  577. }
  578.  
  579. /* the varargs invocation form */
  580. long   somDispatchL(somId methodId, 
  581.         somId descriptor, 
  582.         ...)
  583. {
  584.    va_list ap;
  585.    va_start(ap, descriptor);
  586.    long __somResult = 
  587.       SOM_ResolveD(this,Component,SOMObject,somDispatchL)
  588.     (this,methodId,descriptor,ap);
  589.    va_end(ap);
  590.    return __somResult;
  591. }
  592.  
  593.  
  594. /* va_list method: somDispatchA */
  595.  
  596. /* the va_list invocation form */
  597. void*   Component_somDispatchA(somId methodId, 
  598.         somId descriptor, 
  599.         va_list ap)
  600. {return SOM_ResolveD(this,Component,SOMObject,somDispatchA)
  601.     (this,methodId,descriptor,ap);
  602. }
  603.  
  604. /* the varargs invocation form */
  605. void*   somDispatchA(somId methodId, 
  606.         somId descriptor, 
  607.         ...)
  608. {
  609.    va_list ap;
  610.    va_start(ap, descriptor);
  611.    void* __somResult = 
  612.       SOM_ResolveD(this,Component,SOMObject,somDispatchA)
  613.     (this,methodId,descriptor,ap);
  614.    va_end(ap);
  615.    return __somResult;
  616. }
  617.  
  618.  
  619. /* va_list method: somDispatchD */
  620.  
  621. /* the va_list invocation form */
  622. double   Component_somDispatchD(somId methodId, 
  623.         somId descriptor, 
  624.         va_list ap)
  625. {return SOM_ResolveD(this,Component,SOMObject,somDispatchD)
  626.     (this,methodId,descriptor,ap);
  627. }
  628.  
  629. /* the varargs invocation form */
  630. double   somDispatchD(somId methodId, 
  631.         somId descriptor, 
  632.         ...)
  633. {
  634.    va_list ap;
  635.    va_start(ap, descriptor);
  636.    double __somResult = 
  637.       SOM_ResolveD(this,Component,SOMObject,somDispatchD)
  638.     (this,methodId,descriptor,ap);
  639.    va_end(ap);
  640.    return __somResult;
  641. }
  642.  
  643.  
  644. /* method: somPrintSelf */
  645. SOMObject*   somPrintSelf()
  646. {
  647.    return SOM_ResolveD(this,Component,SOMObject,somPrintSelf)
  648.     (this);
  649. }
  650.  
  651.  
  652. /* method: somDumpSelf */
  653. void   somDumpSelf(long level)
  654. {
  655.    SOM_ResolveD(this,Component,SOMObject,somDumpSelf)
  656.     (this,level);
  657. }
  658.  
  659.  
  660. /* method: somDumpSelfInt */
  661. void   somDumpSelfInt(long level)
  662. {
  663.    SOM_ResolveD(this,Component,SOMObject,somDumpSelfInt)
  664.     (this,level);
  665. }
  666.  
  667.  
  668.  
  669. };   /* Component */
  670.  
  671.  
  672.  
  673. #endif       /* SOM_Component_xh */
  674.