home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / scstruct.xh < prev    next >
Text File  |  1999-02-22  |  34KB  |  1,106 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: scstruct.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *   COMPONENT_NAME: some
  12.  * 
  13.  *   ORIGINS: 27
  14.  * 
  15.  * 
  16.  *    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996
  17.  *   All Rights Reserved
  18.  *   Licensed Materials - Property of IBM
  19.  *   US Government Users Restricted Rights - Use, duplication or
  20.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  *  @(#) somc/sctypes.h 2.7 12/26/95 16:26:17 [7/30/96 14:46:04]
  22.  * 
  23.  */
  24.  
  25.  
  26. #ifndef SOM_SOMTStructEntryC_xh
  27. #define SOM_SOMTStructEntryC_xh
  28.  
  29. class SOMTStructEntryC;
  30.  
  31. #define SOMTStructEntryC_MajorVersion 2
  32. #define SOMTStructEntryC_MinorVersion 1
  33.  
  34. /* C++ SOM defs */
  35. #include <somcls.xh>
  36. #include <somcm.xh>
  37.  
  38. /* C++ parent defs */
  39. #ifndef SOM_SOMTEntryC_xh
  40. #include <scentry.xh>
  41. #endif
  42.  
  43. #ifndef SOMTStructEntryC_API
  44. #define SOMTStructEntryC_API
  45. /*
  46.  * -- The Class API
  47.  */
  48.  
  49. /*
  50.  * Start of bindings for IDL types
  51.  */
  52.  
  53. class SOMClass;
  54. class SOMObject;
  55. class SOMTEntryC;
  56. class SOMTEmitC;
  57. class SOMTMetaClassEntryC;
  58. class SOMTAttributeEntryC;
  59. class SOMTTypedefEntryC;
  60. class SOMTBaseClassEntryC;
  61. class SOMTPassthruEntryC;
  62. class SOMTDataEntryC;
  63. class SOMTMethodEntryC;
  64. class SOMTClassEntryC;
  65. class SOMTModuleEntryC;
  66. class SOMTParameterEntryC;
  67. class SOMTStructEntryC;
  68. class SOMTUnionEntryC;
  69. class SOMTEnumEntryC;
  70. class SOMTConstEntryC;
  71. class SOMTSequenceEntryC;
  72. class SOMTStringEntryC;
  73. class SOMTEnumNameEntryC;
  74. class SOMTCommonEntryC;
  75. class SOMTUserDefinedTypeEntryC;
  76.  
  77. /*
  78.  * End of bindings for IDL types.
  79.  */
  80.  
  81. /* A procedure to create the SOMTStructEntryC Class */
  82. SOMEXTERN SOMClass * SOMLINK SOMTStructEntryCNewClass(
  83.         integer4 majorVersion,
  84.         integer4 minorVersion);
  85.  
  86. /* The API to the SOMTStructEntryC class object, and the methods it introduces. */
  87. SOMEXTERN struct SOMTStructEntryCClassDataStructure {
  88.     SOMClass *classObject;
  89.     somMToken _get_somtStructClass;
  90.     somMToken _get_somtIsException;
  91.     somMToken somtGetFirstMember;
  92.     somMToken somtGetNextMember;
  93. } SOMDLINK SOMTStructEntryCClassData;
  94. #define _SOMTStructEntryC SOMTStructEntryCClassData.classObject
  95.  
  96. /* The API to parentMtabs for SOMTStructEntryC, and the instance data it introduces. */
  97. SOMEXTERN struct SOMTStructEntryCCClassDataStructure {
  98.     somMethodTabs parentMtab;
  99.     somDToken              instanceDataToken;
  100. } SOMDLINK SOMTStructEntryCCClassData;
  101.  
  102. /*
  103.  * -- Typedefs for SOMTStructEntryC Method Procedures
  104.  */
  105. SOMEXTERN {
  106. typedef SOMTTypedefEntryC*   SOMLINK somTP_SOMTStructEntryC_somtGetFirstMember(SOMTStructEntryC *somSelf);
  107. typedef somTP_SOMTStructEntryC_somtGetFirstMember *somTD_SOMTStructEntryC_somtGetFirstMember;
  108. typedef SOMTTypedefEntryC*   SOMLINK somTP_SOMTStructEntryC_somtGetNextMember(SOMTStructEntryC *somSelf);
  109. typedef somTP_SOMTStructEntryC_somtGetNextMember *somTD_SOMTStructEntryC_somtGetNextMember;
  110. typedef SOMTClassEntryC*   SOMLINK somTP_SOMTStructEntryC__get_somtStructClass(SOMTStructEntryC *somSelf);
  111. typedef somTP_SOMTStructEntryC__get_somtStructClass *somTD_SOMTStructEntryC__get_somtStructClass;
  112. typedef boolean   SOMLINK somTP_SOMTStructEntryC__get_somtIsException(SOMTStructEntryC *somSelf);
  113. typedef somTP_SOMTStructEntryC__get_somtIsException *somTD_SOMTStructEntryC__get_somtIsException;
  114.  
  115. /*
  116.  * -- Typedefs for Reintroduced Wrapper Methods
  117.  */
  118. typedef string   SOMLINK somTP_SOMTStructEntryC__get_somtEntryName(SOMTStructEntryC *somSelf);
  119. typedef somTP_SOMTStructEntryC__get_somtEntryName *somTD_SOMTStructEntryC__get_somtEntryName;
  120. typedef void   SOMLINK somTP_SOMTStructEntryC__set_somtEntryName(SOMTStructEntryC *somSelf, 
  121.         string somtEntryName);
  122. typedef somTP_SOMTStructEntryC__set_somtEntryName *somTD_SOMTStructEntryC__set_somtEntryName;
  123. typedef SOMTTypes   SOMLINK somTP_SOMTStructEntryC__get_somtElementType(SOMTStructEntryC *somSelf);
  124. typedef somTP_SOMTStructEntryC__get_somtElementType *somTD_SOMTStructEntryC__get_somtElementType;
  125. typedef void   SOMLINK somTP_SOMTStructEntryC__set_somtElementType(SOMTStructEntryC *somSelf, 
  126.         SOMTTypes somtElementType);
  127. typedef somTP_SOMTStructEntryC__set_somtElementType *somTD_SOMTStructEntryC__set_somtElementType;
  128. typedef string   SOMLINK somTP_SOMTStructEntryC__get_somtElementTypeName(SOMTStructEntryC *somSelf);
  129. typedef somTP_SOMTStructEntryC__get_somtElementTypeName *somTD_SOMTStructEntryC__get_somtElementTypeName;
  130. typedef string   SOMLINK somTP_SOMTStructEntryC__get_somtEntryComment(SOMTStructEntryC *somSelf);
  131. typedef somTP_SOMTStructEntryC__get_somtEntryComment *somTD_SOMTStructEntryC__get_somtEntryComment;
  132. typedef unsigned long   SOMLINK somTP_SOMTStructEntryC__get_somtSourceLineNumber(SOMTStructEntryC *somSelf);
  133. typedef somTP_SOMTStructEntryC__get_somtSourceLineNumber *somTD_SOMTStructEntryC__get_somtSourceLineNumber;
  134. typedef TypeCode   SOMLINK somTP_SOMTStructEntryC__get_somtTypeCode(SOMTStructEntryC *somSelf);
  135. typedef somTP_SOMTStructEntryC__get_somtTypeCode *somTD_SOMTStructEntryC__get_somtTypeCode;
  136. typedef boolean   SOMLINK somTP_SOMTStructEntryC__get_somtIsReference(SOMTStructEntryC *somSelf);
  137. typedef somTP_SOMTStructEntryC__get_somtIsReference *somTD_SOMTStructEntryC__get_somtIsReference;
  138. typedef string   SOMLINK somTP_SOMTStructEntryC__get_somtIDLScopedName(SOMTStructEntryC *somSelf);
  139. typedef somTP_SOMTStructEntryC__get_somtIDLScopedName *somTD_SOMTStructEntryC__get_somtIDLScopedName;
  140. typedef string   SOMLINK somTP_SOMTStructEntryC__get_somtCScopedName(SOMTStructEntryC *somSelf);
  141. typedef somTP_SOMTStructEntryC__get_somtCScopedName *somTD_SOMTStructEntryC__get_somtCScopedName;
  142. typedef string   SOMLINK somTP_SOMTStructEntryC_somtGetModifierValue(SOMTStructEntryC *somSelf, 
  143.         string modifierName);
  144. typedef somTP_SOMTStructEntryC_somtGetModifierValue *somTD_SOMTStructEntryC_somtGetModifierValue;
  145. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somtGetFirstModifier(SOMTStructEntryC *somSelf, 
  146.         string* modifierName, 
  147.         string* modifierValue);
  148. typedef somTP_SOMTStructEntryC_somtGetFirstModifier *somTD_SOMTStructEntryC_somtGetFirstModifier;
  149. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somtGetNextModifier(SOMTStructEntryC *somSelf, 
  150.         string* modifierName, 
  151.         string* modifierValue);
  152. typedef somTP_SOMTStructEntryC_somtGetNextModifier *somTD_SOMTStructEntryC_somtGetNextModifier;
  153. typedef long   SOMLINK somTP_SOMTStructEntryC_somtFormatModifier(SOMTStructEntryC *somSelf, 
  154.         string buffer, 
  155.         string name, 
  156.         string value);
  157. typedef somTP_SOMTStructEntryC_somtFormatModifier *somTD_SOMTStructEntryC_somtFormatModifier;
  158. typedef long   SOMLINK somTP_SOMTStructEntryC_somtGetModifierList(SOMTStructEntryC *somSelf, 
  159.         string buffer);
  160. typedef somTP_SOMTStructEntryC_somtGetModifierList *somTD_SOMTStructEntryC_somtGetModifierList;
  161. typedef long   SOMLINK somTP_SOMTStructEntryC_somtSetSymbolsOnEntry(SOMTStructEntryC *somSelf, 
  162.         SOMTEmitC* emitter, 
  163.         string prefix);
  164. typedef somTP_SOMTStructEntryC_somtSetSymbolsOnEntry *somTD_SOMTStructEntryC_somtSetSymbolsOnEntry;
  165. typedef void   SOMLINK somTP_SOMTStructEntryC_somtSetEntryStruct(SOMTStructEntryC *somSelf, 
  166.         Entry* es);
  167. typedef somTP_SOMTStructEntryC_somtSetEntryStruct *somTD_SOMTStructEntryC_somtSetEntryStruct;
  168. typedef void   SOMLINK somTP_SOMTStructEntryC_somInit(SOMTStructEntryC *somSelf);
  169. typedef somTP_SOMTStructEntryC_somInit *somTD_SOMTStructEntryC_somInit;
  170. typedef void   SOMLINK somTP_SOMTStructEntryC_somUninit(SOMTStructEntryC *somSelf);
  171. typedef somTP_SOMTStructEntryC_somUninit *somTD_SOMTStructEntryC_somUninit;
  172. typedef SOMObject*   SOMLINK somTP_SOMTStructEntryC_somPrintSelf(SOMTStructEntryC *somSelf);
  173. typedef somTP_SOMTStructEntryC_somPrintSelf *somTD_SOMTStructEntryC_somPrintSelf;
  174. typedef void   SOMLINK somTP_SOMTStructEntryC_somDumpSelfInt(SOMTStructEntryC *somSelf, 
  175.         long level);
  176. typedef somTP_SOMTStructEntryC_somDumpSelfInt *somTD_SOMTStructEntryC_somDumpSelfInt;
  177. typedef void   SOMLINK somTP_SOMTStructEntryC_somDumpSelf(SOMTStructEntryC *somSelf, 
  178.         long level);
  179. typedef somTP_SOMTStructEntryC_somDumpSelf *somTD_SOMTStructEntryC_somDumpSelf;
  180. typedef void   SOMLINK somTP_SOMTStructEntryC_somDefaultInit(SOMTStructEntryC *somSelf, 
  181.         som3InitCtrl* ctrl);
  182. typedef somTP_SOMTStructEntryC_somDefaultInit *somTD_SOMTStructEntryC_somDefaultInit;
  183. typedef void   SOMLINK somTP_SOMTStructEntryC_somDestruct(SOMTStructEntryC *somSelf, 
  184.         octet doFree, 
  185.         som3DestructCtrl* ctrl);
  186. typedef somTP_SOMTStructEntryC_somDestruct *somTD_SOMTStructEntryC_somDestruct;
  187. typedef void   SOMLINK somTP_SOMTStructEntryC_somDefaultCopyInit(SOMTStructEntryC *somSelf, 
  188.         som3InitCtrl* ctrl, 
  189.         SOMObject* fromObj);
  190. typedef somTP_SOMTStructEntryC_somDefaultCopyInit *somTD_SOMTStructEntryC_somDefaultCopyInit;
  191. typedef SOMTStructEntryC*   SOMLINK somTP_SOMTStructEntryC_somDefaultAssign(SOMTStructEntryC *somSelf, 
  192.         som3AssignCtrl* ctrl, 
  193.         SOMObject* fromObj);
  194. typedef somTP_SOMTStructEntryC_somDefaultAssign *somTD_SOMTStructEntryC_somDefaultAssign;
  195. typedef void   SOMLINK somTP_SOMTStructEntryC_somDefaultConstCopyInit(SOMTStructEntryC *somSelf, 
  196.         som3InitCtrl* ctrl, 
  197.         SOMObject* fromObj);
  198. typedef somTP_SOMTStructEntryC_somDefaultConstCopyInit *somTD_SOMTStructEntryC_somDefaultConstCopyInit;
  199. typedef void   SOMLINK somTP_SOMTStructEntryC_somDefaultVCopyInit(SOMTStructEntryC *somSelf, 
  200.         som3InitCtrl* ctrl, 
  201.         SOMObject* fromObj);
  202. typedef somTP_SOMTStructEntryC_somDefaultVCopyInit *somTD_SOMTStructEntryC_somDefaultVCopyInit;
  203. typedef void   SOMLINK somTP_SOMTStructEntryC_somDefaultConstVCopyInit(SOMTStructEntryC *somSelf, 
  204.         som3InitCtrl* ctrl, 
  205.         SOMObject* fromObj);
  206. typedef somTP_SOMTStructEntryC_somDefaultConstVCopyInit *somTD_SOMTStructEntryC_somDefaultConstVCopyInit;
  207. typedef SOMTStructEntryC*   SOMLINK somTP_SOMTStructEntryC_somDefaultConstAssign(SOMTStructEntryC *somSelf, 
  208.         som3AssignCtrl* ctrl, 
  209.         SOMObject* fromObj);
  210. typedef somTP_SOMTStructEntryC_somDefaultConstAssign *somTD_SOMTStructEntryC_somDefaultConstAssign;
  211. typedef SOMTStructEntryC*   SOMLINK somTP_SOMTStructEntryC_somDefaultVAssign(SOMTStructEntryC *somSelf, 
  212.         som3AssignCtrl* ctrl, 
  213.         SOMObject* fromObj);
  214. typedef somTP_SOMTStructEntryC_somDefaultVAssign *somTD_SOMTStructEntryC_somDefaultVAssign;
  215. typedef SOMTStructEntryC*   SOMLINK somTP_SOMTStructEntryC_somDefaultConstVAssign(SOMTStructEntryC *somSelf, 
  216.         som3AssignCtrl* ctrl, 
  217.         SOMObject* fromObj);
  218. typedef somTP_SOMTStructEntryC_somDefaultConstVAssign *somTD_SOMTStructEntryC_somDefaultConstVAssign;
  219. typedef void   SOMLINK somTP_SOMTStructEntryC_somFree(SOMTStructEntryC *somSelf);
  220. typedef somTP_SOMTStructEntryC_somFree *somTD_SOMTStructEntryC_somFree;
  221. typedef SOMClass*   SOMLINK somTP_SOMTStructEntryC_somGetClass(SOMTStructEntryC *somSelf);
  222. typedef somTP_SOMTStructEntryC_somGetClass *somTD_SOMTStructEntryC_somGetClass;
  223. typedef string   SOMLINK somTP_SOMTStructEntryC_somGetClassName(SOMTStructEntryC *somSelf);
  224. typedef somTP_SOMTStructEntryC_somGetClassName *somTD_SOMTStructEntryC_somGetClassName;
  225. typedef long   SOMLINK somTP_SOMTStructEntryC_somGetSize(SOMTStructEntryC *somSelf);
  226. typedef somTP_SOMTStructEntryC_somGetSize *somTD_SOMTStructEntryC_somGetSize;
  227. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somIsA(SOMTStructEntryC *somSelf, 
  228.         SOMClass* aClassObj);
  229. typedef somTP_SOMTStructEntryC_somIsA *somTD_SOMTStructEntryC_somIsA;
  230. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somIsInstanceOf(SOMTStructEntryC *somSelf, 
  231.         SOMClass* aClassObj);
  232. typedef somTP_SOMTStructEntryC_somIsInstanceOf *somTD_SOMTStructEntryC_somIsInstanceOf;
  233. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somRespondsTo(SOMTStructEntryC *somSelf, 
  234.         somId mId);
  235. typedef somTP_SOMTStructEntryC_somRespondsTo *somTD_SOMTStructEntryC_somRespondsTo;
  236. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somDispatch(SOMTStructEntryC *somSelf, 
  237.         somToken* retValue, 
  238.         somId methodId, 
  239.         va_list ap);
  240. typedef somTP_SOMTStructEntryC_somDispatch *somTD_SOMTStructEntryC_somDispatch;
  241. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somClassDispatch(SOMTStructEntryC *somSelf, 
  242.         SOMClass* clsObj, 
  243.         somToken* retValue, 
  244.         somId methodId, 
  245.         va_list ap);
  246. typedef somTP_SOMTStructEntryC_somClassDispatch *somTD_SOMTStructEntryC_somClassDispatch;
  247. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somCastObj(SOMTStructEntryC *somSelf, 
  248.         SOMClass* cls);
  249. typedef somTP_SOMTStructEntryC_somCastObj *somTD_SOMTStructEntryC_somCastObj;
  250. typedef boolean   SOMLINK somTP_SOMTStructEntryC_somResetObj(SOMTStructEntryC *somSelf);
  251. typedef somTP_SOMTStructEntryC_somResetObj *somTD_SOMTStructEntryC_somResetObj;
  252. typedef void   SOMLINK somTP_SOMTStructEntryC_somDispatchV(SOMTStructEntryC *somSelf, 
  253.         somId methodId, 
  254.         somId descriptor, 
  255.         va_list ap);
  256. typedef somTP_SOMTStructEntryC_somDispatchV *somTD_SOMTStructEntryC_somDispatchV;
  257. typedef long   SOMLINK somTP_SOMTStructEntryC_somDispatchL(SOMTStructEntryC *somSelf, 
  258.         somId methodId, 
  259.         somId descriptor, 
  260.         va_list ap);
  261. typedef somTP_SOMTStructEntryC_somDispatchL *somTD_SOMTStructEntryC_somDispatchL;
  262. typedef void*   SOMLINK somTP_SOMTStructEntryC_somDispatchA(SOMTStructEntryC *somSelf, 
  263.         somId methodId, 
  264.         somId descriptor, 
  265.         va_list ap);
  266. typedef somTP_SOMTStructEntryC_somDispatchA *somTD_SOMTStructEntryC_somDispatchA;
  267. typedef double   SOMLINK somTP_SOMTStructEntryC_somDispatchD(SOMTStructEntryC *somSelf, 
  268.         somId methodId, 
  269.         somId descriptor, 
  270.         va_list ap);
  271. typedef somTP_SOMTStructEntryC_somDispatchD *somTD_SOMTStructEntryC_somDispatchD;
  272. }
  273.  
  274. #endif /* SOMTStructEntryC_API */
  275.  
  276.  
  277. /*
  278.  * -- This emitter treats Method Tokens as Thunks by default.
  279.  * -- Use the sc modifier "nothunks" to change this default
  280.  */
  281. #undef somresolve_
  282. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  283.  
  284. /*
  285.  * -- The C++ Wrapper Class for SOMTStructEntryC
  286.  */
  287. class SOMTStructEntryC : public SOMTEntryC
  288. {
  289. public:
  290.  
  291. // SOMTStructEntryC::new creates the class object if necessary, and then uses somNewNoInit
  292. // to allocate memory and create the object. Initialization is in ctors.
  293. void *operator new(size_t)
  294. {
  295.    if (!_SOMTStructEntryC) SOMTStructEntryCNewClass(SOMTStructEntryC_MajorVersion,SOMTStructEntryC_MinorVersion);
  296.    return (void*)
  297.       SOM_Resolve(_SOMTStructEntryC,SOMClass,somNewNoInit)
  298.          ((SOMClass *)((void*)_SOMTStructEntryC));
  299. }
  300.  
  301. // SOMTStructEntryC::delete uses somDestruct.
  302. void operator delete(void * obj)
  303. {
  304.    if (obj && *(void**)obj) {
  305.       SOM_Resolve(obj,SOMObject,somFree)
  306.          ((SOMObject*)obj);
  307.    }
  308. }
  309.  
  310. SOMTStructEntryC& operator=(SOMTStructEntryC& fromObj)
  311. {
  312.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  313.    return *this;
  314. }
  315.  
  316. SOMTStructEntryC()
  317. {
  318.    if (*(void**)this != 
  319.        ((somParentMtabStructPtr)
  320.         (SOMTStructEntryCCClassData.parentMtab))->mtab)
  321.       return;
  322.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  323. }
  324.  
  325. SOMTStructEntryC(SOMTStructEntryC* fromObj)
  326. {
  327.    if (*(void**)this != 
  328.        ((somParentMtabStructPtr)
  329.         (SOMTStructEntryCCClassData.parentMtab))->mtab)
  330.       return;
  331.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  332. }
  333.  
  334. #ifdef __IBMCPP__
  335. #pragma info(nocnv,nopar)
  336. #endif
  337. SOMTStructEntryC(const SOMTStructEntryC* fromObj)
  338. {
  339.    if (*(void**)this != 
  340.        ((somParentMtabStructPtr)
  341.         (SOMTStructEntryCCClassData.parentMtab))->mtab)
  342.       return;
  343.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  344. }
  345. #ifdef __IBMCPP__
  346. #pragma info(restore)
  347. #endif
  348.  
  349.  
  350. /* method: somtGetFirstMember */
  351. SOMTTypedefEntryC*   somtGetFirstMember()
  352. {
  353. /*
  354.  *  The first member of the struct.
  355.  */
  356.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTStructEntryC,somtGetFirstMember)
  357.     (this);
  358. }
  359.  
  360.  
  361. /* method: somtGetNextMember */
  362. SOMTTypedefEntryC*   somtGetNextMember()
  363. {
  364. /*
  365.  *  The next member of the struct, relative to the previous call
  366.  *  to this method or somtGetFirstMember.
  367.  */
  368.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTStructEntryC,somtGetNextMember)
  369.     (this);
  370. }
  371.  
  372.  
  373. /* method: _get_somtStructClass */
  374. SOMTClassEntryC*   _get_somtStructClass()
  375. {
  376. /*
  377.  *  The class in which the structure was defined.
  378.  */
  379.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTStructEntryC,_get_somtStructClass)
  380.     (this);
  381. }
  382.  
  383.  
  384. /* method: _get_somtIsException */
  385. boolean   _get_somtIsException()
  386. {
  387. /*
  388.  *  Whether the structure is really an exception.
  389.  */
  390.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTStructEntryC,_get_somtIsException)
  391.     (this);
  392. }
  393.  
  394.  
  395. /*
  396.  * Reintroduce inherited methods
  397.  */
  398.  
  399. /* method: _get_somtEntryName */
  400. string   _get_somtEntryName()
  401. {
  402. /*
  403.  *  The name associated with this entry.  Eg, the name of
  404.  *  the data item, the class, the method, the type, etc.
  405.  */
  406.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtEntryName)
  407.     (this);
  408. }
  409.  
  410.  
  411. /* method: _set_somtEntryName */
  412. void   _set_somtEntryName(string somtEntryName)
  413. {
  414. /*
  415.  *  The name associated with this entry.  Eg, the name of
  416.  *  the data item, the class, the method, the type, etc.
  417.  */
  418.    SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_set_somtEntryName)
  419.     (this,somtEntryName);
  420. }
  421.  
  422.  
  423. /* method: _get_somtElementType */
  424. SOMTTypes   _get_somtElementType()
  425. {
  426. /*
  427.  *  Returns the type of this entry.
  428.  *  This is not datatype, but entry type (method, class,
  429.  *  passthru, etc.). The value is defined by SOMTTypes.
  430.  */
  431.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtElementType)
  432.     (this);
  433. }
  434.  
  435.  
  436. /* method: _set_somtElementType */
  437. void   _set_somtElementType(SOMTTypes somtElementType)
  438. {
  439. /*
  440.  *  Returns the type of this entry.
  441.  *  This is not datatype, but entry type (method, class,
  442.  *  passthru, etc.). The value is defined by SOMTTypes.
  443.  */
  444.    SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_set_somtElementType)
  445.     (this,somtElementType);
  446. }
  447.  
  448.  
  449. /* method: _get_somtElementTypeName */
  450. string   _get_somtElementTypeName()
  451. {
  452. /*
  453.  *  String version of somtElementType.
  454.  */
  455.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtElementTypeName)
  456.     (this);
  457. }
  458.  
  459.  
  460. /* method: _get_somtEntryComment */
  461. string   _get_somtEntryComment()
  462. {
  463. /*
  464.  *  Returns the comment associated with this entry, or NULL is this
  465.  *  entry has no associated comment.  Comments will have comment
  466.  *  delimitors removed, but will retain newline characters as
  467.  *  specified in the source file. (use smLookupComment)
  468.  */
  469.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtEntryComment)
  470.     (this);
  471. }
  472.  
  473.  
  474. /* method: _get_somtSourceLineNumber */
  475. unsigned long   _get_somtSourceLineNumber()
  476. {
  477. /*
  478.  *  Returns the line number in the source file where this entry's
  479.  *  syntactic form ended.
  480.  */
  481.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtSourceLineNumber)
  482.     (this);
  483. }
  484.  
  485.  
  486. /* method: _get_somtTypeCode */
  487. TypeCode   _get_somtTypeCode()
  488. {
  489. /*
  490.  *  The typecode, if appropriate, or NULL.
  491.  */
  492.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtTypeCode)
  493.     (this);
  494. }
  495.  
  496.  
  497. /* method: _get_somtIsReference */
  498. boolean   _get_somtIsReference()
  499. {
  500. /*
  501.  *  Whether the entry is just a reference to the real type (TRUE)
  502.  *  rather than a declaration of it (FALSE).
  503.  */
  504.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtIsReference)
  505.     (this);
  506. }
  507.  
  508.  
  509. /* method: _get_somtIDLScopedName */
  510. string   _get_somtIDLScopedName()
  511. {
  512. /*
  513.  *  The IDL scoped name of the entry (using double colon as delimiter).
  514.  */
  515.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtIDLScopedName)
  516.     (this);
  517. }
  518.  
  519.  
  520. /* method: _get_somtCScopedName */
  521. string   _get_somtCScopedName()
  522. {
  523. /*
  524.  *  The C scoped name of the entry (using underscore as delimiter).
  525.  */
  526.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,_get_somtCScopedName)
  527.     (this);
  528. }
  529.  
  530.  
  531. /* method: somtGetModifierValue */
  532. string   somtGetModifierValue(string modifierName)
  533. {
  534. /*
  535.  *  Returns the value of the named modifier if this entry has the
  536.  *  named modifier and NULL otherwise. Note: if the modifier is
  537.  *  present but does not have a value then a value of <'\1'> is
  538.  *  returned.
  539.  */
  540.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtGetModifierValue)
  541.     (this,modifierName);
  542. }
  543.  
  544.  
  545. /* method: somtGetFirstModifier */
  546. boolean   somtGetFirstModifier(string* modifierName, 
  547.         string* modifierValue)
  548. {
  549. /*
  550.  *  Returns the first modifier associated with this entry.  1 (true)
  551.  *  is returned if the entry has at least one modifier and 0 (false)
  552.  *  otherwise.
  553.  */
  554.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtGetFirstModifier)
  555.     (this,modifierName,modifierValue);
  556. }
  557.  
  558.  
  559. /* method: somtGetNextModifier */
  560. boolean   somtGetNextModifier(string* modifierName, 
  561.         string* modifierValue)
  562. {
  563. /*
  564.  *  Returns the next modifier (with respect to the last call to
  565.  *  <somtGetNextModifier> or <somtGetFirstModifier>)
  566.  *  associated with this entry.  1 (true) is returned if the entry
  567.  *  had another modifier and 0 (false) otherwise.
  568.  */
  569.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtGetNextModifier)
  570.     (this,modifierName,modifierValue);
  571. }
  572.  
  573.  
  574. /* method: somtFormatModifier */
  575. long   somtFormatModifier(string buffer, 
  576.         string name, 
  577.         string value)
  578. {
  579. /*
  580.  *  Formats the indicated name/value pair into buffer.  Buffer must
  581.  *  be big enough to hold all the formatted pair, no checks are made.
  582.  *  The number of characters added to buffer are returned (not
  583.  *  including the trailing null character).
  584.  *  Note: value may be null
  585.  *  You will probably never call this method, it is provided so that
  586.  *  you can override it to control the format returned in
  587.  *  <somtGetModifierList>.
  588.  */
  589.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtFormatModifier)
  590.     (this,buffer,name,value);
  591. }
  592.  
  593.  
  594. /* method: somtGetModifierList */
  595. long   somtGetModifierList(string buffer)
  596. {
  597. /*
  598.  *  The modifiers for this entry are placed in <buffer> in template
  599.  *  list form (newline separated).  Buffer must be big enough to
  600.  *  hold all the modifiers, no checks are made. The number of
  601.  *  modifiers is returned.
  602.  */
  603.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtGetModifierList)
  604.     (this,buffer);
  605. }
  606.  
  607.  
  608. /* method: somtSetSymbolsOnEntry */
  609. long   somtSetSymbolsOnEntry(SOMTEmitC* emitter, 
  610.         string prefix)
  611. {
  612. /*
  613.  *  Places a number of symbol/value pairs in <t>.  All the symbols
  614.  *  will begin with <prefix>.
  615.  */
  616.    return SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtSetSymbolsOnEntry)
  617.     (this,emitter,prefix);
  618. }
  619.  
  620.  
  621. /* method: somtSetEntryStruct */
  622. void   somtSetEntryStruct(Entry* es)
  623. {
  624. /*
  625.  *  Sets the entry struct data member.
  626.  *  Note, when overridding this method, it is important to call the
  627.  *  parent version of the method first and then do your processing.
  628.  */
  629.    SOM_ResolveD(this,SOMTStructEntryC,SOMTEntryC,somtSetEntryStruct)
  630.     (this,es);
  631. }
  632.  
  633.  
  634. /* method: somInit */
  635. void   somInit()
  636. {
  637.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somInit)
  638.     (this);
  639. }
  640.  
  641.  
  642. /* method: somUninit */
  643. void   somUninit()
  644. {
  645.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somUninit)
  646.     (this);
  647. }
  648.  
  649.  
  650. /* method: somPrintSelf */
  651. SOMObject*   somPrintSelf()
  652. {
  653.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somPrintSelf)
  654.     (this);
  655. }
  656.  
  657.  
  658. /* method: somDumpSelfInt */
  659. void   somDumpSelfInt(long level)
  660. {
  661.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDumpSelfInt)
  662.     (this,level);
  663. }
  664.  
  665.  
  666. /* method: somDumpSelf */
  667. void   somDumpSelf(long level)
  668. {
  669.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDumpSelf)
  670.     (this,level);
  671. }
  672.  
  673.  
  674. /* initializer method: somDefaultInit */
  675. void   somDefaultInit(som3InitCtrl* ctrl)
  676. {
  677. /*
  678.  *  A default initializer for a SOM object. Passing a null ctrl
  679.  *  indicates to the receiver that its class is the class of the
  680.  *  object being initialized, whereby the initializer will determine
  681.  *  an appropriate control structure.
  682.  */
  683.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultInit)
  684.     (this,ctrl);
  685. }
  686.  
  687.  
  688. /* method: somDestruct */
  689. void   somDestruct(octet doFree, 
  690.         som3DestructCtrl* ctrl)
  691. {
  692. /*
  693.  *  The default destructor for a SOM object. A nonzero <doFree>
  694.  *  indicates that the object storage should be freed by the
  695.  *  object's class (via somDeallocate) after uninitialization.
  696.  *  As with somDefaultInit, a null ctrl can be passed.
  697.  */
  698.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDestruct)
  699.     (this,doFree,ctrl);
  700. }
  701.  
  702.  
  703. /* initializer method: somDefaultCopyInit */
  704. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  705.         SOMObject* fromObj)
  706. {
  707. /*
  708.  *  A default copy constructor. Use this to make copies of objects for
  709.  *  calling methods with "by-value" argument semantics.
  710.  */
  711.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultCopyInit)
  712.     (this,ctrl,fromObj);
  713. }
  714.  
  715.  
  716. /* method: somDefaultAssign */
  717. SOMTStructEntryC*  somDefaultAssign(som3AssignCtrl* ctrl, 
  718.         SOMObject* fromObj)
  719. {
  720. /*
  721.  *  A default assignment operator. Use this to "assign" the state of one
  722.  *  object to another.
  723.  */
  724.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultAssign)
  725.     (this,ctrl,fromObj);
  726. }
  727.  
  728.  
  729. /* initializer method: somDefaultConstCopyInit */
  730. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  731.         SOMObject* fromObj)
  732. {
  733. /*
  734.  *  A default copy constructor that uses a const fromObj.
  735.  */
  736.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultConstCopyInit)
  737.     (this,ctrl,fromObj);
  738. }
  739.  
  740.  
  741. /* initializer method: somDefaultVCopyInit */
  742. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  743.         SOMObject* fromObj)
  744. {
  745. /*
  746.  *  A default copy constructor that uses a volatile fromObj.
  747.  */
  748.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultVCopyInit)
  749.     (this,ctrl,fromObj);
  750. }
  751.  
  752.  
  753. /* initializer method: somDefaultConstVCopyInit */
  754. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  755.         SOMObject* fromObj)
  756. {
  757. /*
  758.  *  A default copy constructor that uses a const volatile fromObj.
  759.  */
  760.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultConstVCopyInit)
  761.     (this,ctrl,fromObj);
  762. }
  763.  
  764.  
  765. /* method: somDefaultConstAssign */
  766. SOMTStructEntryC*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  767.         SOMObject* fromObj)
  768. {
  769. /*
  770.  *  A default assignment operator that uses a const fromObj.
  771.  */
  772.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultConstAssign)
  773.     (this,ctrl,fromObj);
  774. }
  775.  
  776.  
  777. /* method: somDefaultVAssign */
  778. SOMTStructEntryC*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  779.         SOMObject* fromObj)
  780. {
  781. /*
  782.  *  A default assignment operator that uses a volatile fromObj.
  783.  */
  784.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultVAssign)
  785.     (this,ctrl,fromObj);
  786. }
  787.  
  788.  
  789. /* method: somDefaultConstVAssign */
  790. SOMTStructEntryC*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  791.         SOMObject* fromObj)
  792. {
  793. /*
  794.  *  A default assignment operator that uses a const volatile fromObj.
  795.  */
  796.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDefaultConstVAssign)
  797.     (this,ctrl,fromObj);
  798. }
  799.  
  800.  
  801. /* method: somFree */
  802. void   somFree()
  803. {
  804. /*
  805.  *  Use as directed by framework implementations.
  806.  */
  807.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somFree)
  808.     (this);
  809. }
  810.  
  811.  
  812. /* method: somGetClass */
  813. SOMClass*   somGetClass()
  814. {
  815. /*
  816.  *  Return the receiver's class.
  817.  */
  818.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somGetClass)
  819.     (this);
  820. }
  821.  
  822.  
  823. /* method: somGetClassName */
  824. string   somGetClassName()
  825. {
  826. /*
  827.  *  Return the name of the receiver's class.
  828.  */
  829.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somGetClassName)
  830.     (this);
  831. }
  832.  
  833.  
  834. /* method: somGetSize */
  835. long   somGetSize()
  836. {
  837. /*
  838.  *  Return the size of the receiver.
  839.  */
  840.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somGetSize)
  841.     (this);
  842. }
  843.  
  844.  
  845. /* method: somIsA */
  846. boolean   somIsA(SOMClass* aClassObj)
  847. {
  848. /*
  849.  *  Returns 1 (true) if the receiver responds to methods
  850.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  851.  */
  852.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somIsA)
  853.     (this,aClassObj);
  854. }
  855.  
  856.  
  857. /* method: somIsInstanceOf */
  858. boolean   somIsInstanceOf(SOMClass* aClassObj)
  859. {
  860. /*
  861.  *  Returns 1 (true) if the receiver is an instance of
  862.  *  <aClassObj> and 0 (false) otherwise.
  863.  */
  864.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somIsInstanceOf)
  865.     (this,aClassObj);
  866. }
  867.  
  868.  
  869. /* method: somRespondsTo */
  870. boolean   somRespondsTo(somId mId)
  871. {
  872. /*
  873.  *  Returns 1 (true) if the indicated method can be invoked
  874.  *  on the receiver and 0 (false) otherwise.
  875.  */
  876.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somRespondsTo)
  877.     (this,mId);
  878. }
  879.  
  880.  
  881. /* va_list method: somDispatch */
  882.  
  883. /*
  884.  *  This method provides a generic, class-specific dispatch mechanism.
  885.  *  It accepts as input <retValue> a pointer to the memory area to be
  886.  *  loaded with the result of dispatching the method indicated by
  887.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  888.  *  on which the method is to be invoked as the first argument.
  889.  */
  890. /* the va_list invocation form */
  891. boolean   SOMTStructEntryC_somDispatch(somToken* retValue, 
  892.         somId methodId, 
  893.         va_list ap)
  894. {return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatch)
  895.     (this,retValue,methodId,ap);
  896. }
  897.  
  898. /* the varargs invocation form */
  899. boolean   somDispatch(somToken* retValue, 
  900.         somId methodId, 
  901.         ...)
  902. {
  903. /*
  904.  *  This method provides a generic, class-specific dispatch mechanism.
  905.  *  It accepts as input <retValue> a pointer to the memory area to be
  906.  *  loaded with the result of dispatching the method indicated by
  907.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  908.  *  on which the method is to be invoked as the first argument.
  909.  */
  910.    va_list ap;
  911.    va_start(ap, methodId);
  912.    boolean __somResult = 
  913.       SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatch)
  914.     (this,retValue,methodId,ap);
  915.    va_end(ap);
  916.    return __somResult;
  917. }
  918.  
  919.  
  920. /* va_list method: somClassDispatch */
  921.  
  922. /*
  923.  *  Like somDispatch, but method resolution for static methods is done
  924.  *  according to the clsObj instance method table.
  925.  */
  926. /* the va_list invocation form */
  927. boolean   SOMTStructEntryC_somClassDispatch(SOMClass* clsObj, 
  928.         somToken* retValue, 
  929.         somId methodId, 
  930.         va_list ap)
  931. {return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somClassDispatch)
  932.     (this,clsObj,retValue,methodId,ap);
  933. }
  934.  
  935. /* the varargs invocation form */
  936. boolean   somClassDispatch(SOMClass* clsObj, 
  937.         somToken* retValue, 
  938.         somId methodId, 
  939.         ...)
  940. {
  941. /*
  942.  *  Like somDispatch, but method resolution for static methods is done
  943.  *  according to the clsObj instance method table.
  944.  */
  945.    va_list ap;
  946.    va_start(ap, methodId);
  947.    boolean __somResult = 
  948.       SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somClassDispatch)
  949.     (this,clsObj,retValue,methodId,ap);
  950.    va_end(ap);
  951.    return __somResult;
  952. }
  953.  
  954.  
  955. /* method: somCastObj */
  956. boolean   somCastObj(SOMClass* cls)
  957. {
  958. /*
  959.  *  cast the receiving object to cls (which must be an ancestor of the
  960.  *  objects true class. Returns true on success.
  961.  */
  962.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somCastObj)
  963.     (this,cls);
  964. }
  965.  
  966.  
  967. /* method: somResetObj */
  968. boolean   somResetObj()
  969. {
  970. /*
  971.  *  reset an object to its true class. Returns true always.
  972.  */
  973.    return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somResetObj)
  974.     (this);
  975. }
  976.  
  977.  
  978. /* va_list method: somDispatchV */
  979.  
  980. /*
  981.  *  Obsolete. Use somDispatch instead.
  982.  */
  983. /* the va_list invocation form */
  984. void   SOMTStructEntryC_somDispatchV(somId methodId, 
  985.         somId descriptor, 
  986.         va_list ap)
  987. {   SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchV)
  988.     (this,methodId,descriptor,ap);
  989. }
  990.  
  991. /* the varargs invocation form */
  992. void   somDispatchV(somId methodId, 
  993.         somId descriptor, 
  994.         ...)
  995. {
  996. /*
  997.  *  Obsolete. Use somDispatch instead.
  998.  */
  999.    va_list ap;
  1000.    va_start(ap, descriptor);
  1001.    SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchV)
  1002.     (this,methodId,descriptor,ap);
  1003.    va_end(ap);
  1004. }
  1005.  
  1006.  
  1007. /* va_list method: somDispatchL */
  1008.  
  1009. /*
  1010.  *  Obsolete. Use somDispatch instead.
  1011.  */
  1012. /* the va_list invocation form */
  1013. long   SOMTStructEntryC_somDispatchL(somId methodId, 
  1014.         somId descriptor, 
  1015.         va_list ap)
  1016. {return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchL)
  1017.     (this,methodId,descriptor,ap);
  1018. }
  1019.  
  1020. /* the varargs invocation form */
  1021. long   somDispatchL(somId methodId, 
  1022.         somId descriptor, 
  1023.         ...)
  1024. {
  1025. /*
  1026.  *  Obsolete. Use somDispatch instead.
  1027.  */
  1028.    va_list ap;
  1029.    va_start(ap, descriptor);
  1030.    long __somResult = 
  1031.       SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchL)
  1032.     (this,methodId,descriptor,ap);
  1033.    va_end(ap);
  1034.    return __somResult;
  1035. }
  1036.  
  1037.  
  1038. /* va_list method: somDispatchA */
  1039.  
  1040. /*
  1041.  *  Obsolete. Use somDispatch instead.
  1042.  */
  1043. /* the va_list invocation form */
  1044. void*   SOMTStructEntryC_somDispatchA(somId methodId, 
  1045.         somId descriptor, 
  1046.         va_list ap)
  1047. {return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchA)
  1048.     (this,methodId,descriptor,ap);
  1049. }
  1050.  
  1051. /* the varargs invocation form */
  1052. void*   somDispatchA(somId methodId, 
  1053.         somId descriptor, 
  1054.         ...)
  1055. {
  1056. /*
  1057.  *  Obsolete. Use somDispatch instead.
  1058.  */
  1059.    va_list ap;
  1060.    va_start(ap, descriptor);
  1061.    void* __somResult = 
  1062.       SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchA)
  1063.     (this,methodId,descriptor,ap);
  1064.    va_end(ap);
  1065.    return __somResult;
  1066. }
  1067.  
  1068.  
  1069. /* va_list method: somDispatchD */
  1070.  
  1071. /*
  1072.  *  Obsolete. Use somDispatch instead.
  1073.  */
  1074. /* the va_list invocation form */
  1075. double   SOMTStructEntryC_somDispatchD(somId methodId, 
  1076.         somId descriptor, 
  1077.         va_list ap)
  1078. {return SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchD)
  1079.     (this,methodId,descriptor,ap);
  1080. }
  1081.  
  1082. /* the varargs invocation form */
  1083. double   somDispatchD(somId methodId, 
  1084.         somId descriptor, 
  1085.         ...)
  1086. {
  1087. /*
  1088.  *  Obsolete. Use somDispatch instead.
  1089.  */
  1090.    va_list ap;
  1091.    va_start(ap, descriptor);
  1092.    double __somResult = 
  1093.       SOM_ResolveD(this,SOMTStructEntryC,SOMObject,somDispatchD)
  1094.     (this,methodId,descriptor,ap);
  1095.    va_end(ap);
  1096.    return __somResult;
  1097. }
  1098.  
  1099.  
  1100.  
  1101. };   /* SOMTStructEntryC */
  1102.  
  1103.  
  1104.  
  1105. #endif       /* SOM_SOMTStructEntryC_xh */
  1106.