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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: sccommon.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_SOMTCommonEntryC_xh
  27. #define SOM_SOMTCommonEntryC_xh
  28.  
  29. class SOMTCommonEntryC;
  30.  
  31. /*
  32.  *  This class defines a number of methods and attributes that are
  33.  *  common to <SOMTMethodEntry>, <SOMTDataEntry>, and
  34.  *  <SOMTParameterEntry>.  No entries of this type will actually
  35.  *  be found in the entry graph, instead they will all be one of
  36.  *  the types mentioned above.
  37.  *  Exception: entries whose somtElementType is SOMTTypedefBE, which
  38.  *  represent a reference to a user-defined type, are instance of this class.
  39.  */
  40.  
  41. #define SOMTCommonEntryC_MajorVersion 2
  42. #define SOMTCommonEntryC_MinorVersion 1
  43.  
  44. /*
  45.  * Passthru lines: File: "C.xh", "before"
  46.  */
  47. typedef enum somtVisibilityT { somtInternalVE, somtPublicVE, somtPrivateVE } somtVisibilityT;
  48.  
  49. /* C++ SOM defs */
  50. #include <somcls.xh>
  51. #include <somcm.xh>
  52.  
  53. /* C++ parent defs */
  54. #ifndef SOM_SOMTEntryC_xh
  55. #include <scentry.xh>
  56. #endif
  57.  
  58. #ifndef SOMTCommonEntryC_API
  59. #define SOMTCommonEntryC_API
  60. /*
  61.  * -- The Class API
  62.  */
  63.  
  64. /*
  65.  * Start of bindings for IDL types
  66.  */
  67.  
  68. class SOMClass;
  69. class SOMObject;
  70. class SOMTEntryC;
  71. class SOMTEmitC;
  72. class SOMTMetaClassEntryC;
  73. class SOMTAttributeEntryC;
  74. class SOMTTypedefEntryC;
  75. class SOMTBaseClassEntryC;
  76. class SOMTPassthruEntryC;
  77. class SOMTDataEntryC;
  78. class SOMTMethodEntryC;
  79. class SOMTClassEntryC;
  80. class SOMTModuleEntryC;
  81. class SOMTParameterEntryC;
  82. class SOMTStructEntryC;
  83. class SOMTUnionEntryC;
  84. class SOMTEnumEntryC;
  85. class SOMTConstEntryC;
  86. class SOMTSequenceEntryC;
  87. class SOMTStringEntryC;
  88. class SOMTEnumNameEntryC;
  89. class SOMTCommonEntryC;
  90. class SOMTUserDefinedTypeEntryC;
  91.  
  92. /*
  93.  * End of bindings for IDL types.
  94.  */
  95.  
  96. /* A procedure to create the SOMTCommonEntryC Class */
  97. SOMEXTERN SOMClass * SOMLINK SOMTCommonEntryCNewClass(
  98.         integer4 majorVersion,
  99.         integer4 minorVersion);
  100.  
  101. /* The API to the SOMTCommonEntryC class object, and the methods it introduces. */
  102. SOMEXTERN struct SOMTCommonEntryCClassDataStructure {
  103.     SOMClass *classObject;
  104.     somMToken _get_somtSourceText;
  105.     somMToken _get_somtType;
  106.     somMToken _get_somtVisibility;
  107.     somMToken somtIsArray;
  108.     somMToken somtIsPointer;
  109.     somMToken somtIsArrayDominant;
  110.     somMToken _get_somtTypeObj;
  111.     somMToken _get_somtPtrs;
  112.     somMToken _get_somtArrayDimsString;
  113.     somMToken somtGetFirstArrayDimension;
  114.     somMToken somtGetNextArrayDimension;
  115. } SOMDLINK SOMTCommonEntryCClassData;
  116. #define _SOMTCommonEntryC SOMTCommonEntryCClassData.classObject
  117.  
  118. /* The API to parentMtabs for SOMTCommonEntryC, and the instance data it introduces. */
  119. SOMEXTERN struct SOMTCommonEntryCCClassDataStructure {
  120.     somMethodTabs parentMtab;
  121.     somDToken              instanceDataToken;
  122. } SOMDLINK SOMTCommonEntryCCClassData;
  123.  
  124. /*
  125.  * -- Typedefs for SOMTCommonEntryC Method Procedures
  126.  */
  127. SOMEXTERN {
  128. typedef SOMTEntryC*   SOMLINK somTP_SOMTCommonEntryC__get_somtTypeObj(SOMTCommonEntryC *somSelf);
  129. typedef somTP_SOMTCommonEntryC__get_somtTypeObj *somTD_SOMTCommonEntryC__get_somtTypeObj;
  130. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtPtrs(SOMTCommonEntryC *somSelf);
  131. typedef somTP_SOMTCommonEntryC__get_somtPtrs *somTD_SOMTCommonEntryC__get_somtPtrs;
  132. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtArrayDimsString(SOMTCommonEntryC *somSelf);
  133. typedef somTP_SOMTCommonEntryC__get_somtArrayDimsString *somTD_SOMTCommonEntryC__get_somtArrayDimsString;
  134. typedef unsigned long   SOMLINK somTP_SOMTCommonEntryC_somtGetFirstArrayDimension(SOMTCommonEntryC *somSelf);
  135. typedef somTP_SOMTCommonEntryC_somtGetFirstArrayDimension *somTD_SOMTCommonEntryC_somtGetFirstArrayDimension;
  136. typedef unsigned long   SOMLINK somTP_SOMTCommonEntryC_somtGetNextArrayDimension(SOMTCommonEntryC *somSelf);
  137. typedef somTP_SOMTCommonEntryC_somtGetNextArrayDimension *somTD_SOMTCommonEntryC_somtGetNextArrayDimension;
  138. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtSourceText(SOMTCommonEntryC *somSelf);
  139. typedef somTP_SOMTCommonEntryC__get_somtSourceText *somTD_SOMTCommonEntryC__get_somtSourceText;
  140. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtType(SOMTCommonEntryC *somSelf);
  141. typedef somTP_SOMTCommonEntryC__get_somtType *somTD_SOMTCommonEntryC__get_somtType;
  142. typedef somtVisibilityT   SOMLINK somTP_SOMTCommonEntryC__get_somtVisibility(SOMTCommonEntryC *somSelf);
  143. typedef somTP_SOMTCommonEntryC__get_somtVisibility *somTD_SOMTCommonEntryC__get_somtVisibility;
  144. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somtIsArray(SOMTCommonEntryC *somSelf, 
  145.         long* size);
  146. typedef somTP_SOMTCommonEntryC_somtIsArray *somTD_SOMTCommonEntryC_somtIsArray;
  147. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somtIsPointer(SOMTCommonEntryC *somSelf);
  148. typedef somTP_SOMTCommonEntryC_somtIsPointer *somTD_SOMTCommonEntryC_somtIsPointer;
  149.  
  150. /*
  151.  * -- Typedefs for Reintroduced Wrapper Methods
  152.  */
  153. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtEntryName(SOMTCommonEntryC *somSelf);
  154. typedef somTP_SOMTCommonEntryC__get_somtEntryName *somTD_SOMTCommonEntryC__get_somtEntryName;
  155. typedef void   SOMLINK somTP_SOMTCommonEntryC__set_somtEntryName(SOMTCommonEntryC *somSelf, 
  156.         string somtEntryName);
  157. typedef somTP_SOMTCommonEntryC__set_somtEntryName *somTD_SOMTCommonEntryC__set_somtEntryName;
  158. typedef SOMTTypes   SOMLINK somTP_SOMTCommonEntryC__get_somtElementType(SOMTCommonEntryC *somSelf);
  159. typedef somTP_SOMTCommonEntryC__get_somtElementType *somTD_SOMTCommonEntryC__get_somtElementType;
  160. typedef void   SOMLINK somTP_SOMTCommonEntryC__set_somtElementType(SOMTCommonEntryC *somSelf, 
  161.         SOMTTypes somtElementType);
  162. typedef somTP_SOMTCommonEntryC__set_somtElementType *somTD_SOMTCommonEntryC__set_somtElementType;
  163. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtElementTypeName(SOMTCommonEntryC *somSelf);
  164. typedef somTP_SOMTCommonEntryC__get_somtElementTypeName *somTD_SOMTCommonEntryC__get_somtElementTypeName;
  165. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtEntryComment(SOMTCommonEntryC *somSelf);
  166. typedef somTP_SOMTCommonEntryC__get_somtEntryComment *somTD_SOMTCommonEntryC__get_somtEntryComment;
  167. typedef unsigned long   SOMLINK somTP_SOMTCommonEntryC__get_somtSourceLineNumber(SOMTCommonEntryC *somSelf);
  168. typedef somTP_SOMTCommonEntryC__get_somtSourceLineNumber *somTD_SOMTCommonEntryC__get_somtSourceLineNumber;
  169. typedef TypeCode   SOMLINK somTP_SOMTCommonEntryC__get_somtTypeCode(SOMTCommonEntryC *somSelf);
  170. typedef somTP_SOMTCommonEntryC__get_somtTypeCode *somTD_SOMTCommonEntryC__get_somtTypeCode;
  171. typedef boolean   SOMLINK somTP_SOMTCommonEntryC__get_somtIsReference(SOMTCommonEntryC *somSelf);
  172. typedef somTP_SOMTCommonEntryC__get_somtIsReference *somTD_SOMTCommonEntryC__get_somtIsReference;
  173. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtIDLScopedName(SOMTCommonEntryC *somSelf);
  174. typedef somTP_SOMTCommonEntryC__get_somtIDLScopedName *somTD_SOMTCommonEntryC__get_somtIDLScopedName;
  175. typedef string   SOMLINK somTP_SOMTCommonEntryC__get_somtCScopedName(SOMTCommonEntryC *somSelf);
  176. typedef somTP_SOMTCommonEntryC__get_somtCScopedName *somTD_SOMTCommonEntryC__get_somtCScopedName;
  177. typedef string   SOMLINK somTP_SOMTCommonEntryC_somtGetModifierValue(SOMTCommonEntryC *somSelf, 
  178.         string modifierName);
  179. typedef somTP_SOMTCommonEntryC_somtGetModifierValue *somTD_SOMTCommonEntryC_somtGetModifierValue;
  180. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somtGetFirstModifier(SOMTCommonEntryC *somSelf, 
  181.         string* modifierName, 
  182.         string* modifierValue);
  183. typedef somTP_SOMTCommonEntryC_somtGetFirstModifier *somTD_SOMTCommonEntryC_somtGetFirstModifier;
  184. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somtGetNextModifier(SOMTCommonEntryC *somSelf, 
  185.         string* modifierName, 
  186.         string* modifierValue);
  187. typedef somTP_SOMTCommonEntryC_somtGetNextModifier *somTD_SOMTCommonEntryC_somtGetNextModifier;
  188. typedef long   SOMLINK somTP_SOMTCommonEntryC_somtFormatModifier(SOMTCommonEntryC *somSelf, 
  189.         string buffer, 
  190.         string name, 
  191.         string value);
  192. typedef somTP_SOMTCommonEntryC_somtFormatModifier *somTD_SOMTCommonEntryC_somtFormatModifier;
  193. typedef long   SOMLINK somTP_SOMTCommonEntryC_somtGetModifierList(SOMTCommonEntryC *somSelf, 
  194.         string buffer);
  195. typedef somTP_SOMTCommonEntryC_somtGetModifierList *somTD_SOMTCommonEntryC_somtGetModifierList;
  196. typedef long   SOMLINK somTP_SOMTCommonEntryC_somtSetSymbolsOnEntry(SOMTCommonEntryC *somSelf, 
  197.         SOMTEmitC* emitter, 
  198.         string prefix);
  199. typedef somTP_SOMTCommonEntryC_somtSetSymbolsOnEntry *somTD_SOMTCommonEntryC_somtSetSymbolsOnEntry;
  200. typedef void   SOMLINK somTP_SOMTCommonEntryC_somtSetEntryStruct(SOMTCommonEntryC *somSelf, 
  201.         Entry* es);
  202. typedef somTP_SOMTCommonEntryC_somtSetEntryStruct *somTD_SOMTCommonEntryC_somtSetEntryStruct;
  203. typedef void   SOMLINK somTP_SOMTCommonEntryC_somInit(SOMTCommonEntryC *somSelf);
  204. typedef somTP_SOMTCommonEntryC_somInit *somTD_SOMTCommonEntryC_somInit;
  205. typedef void   SOMLINK somTP_SOMTCommonEntryC_somUninit(SOMTCommonEntryC *somSelf);
  206. typedef somTP_SOMTCommonEntryC_somUninit *somTD_SOMTCommonEntryC_somUninit;
  207. typedef SOMObject*   SOMLINK somTP_SOMTCommonEntryC_somPrintSelf(SOMTCommonEntryC *somSelf);
  208. typedef somTP_SOMTCommonEntryC_somPrintSelf *somTD_SOMTCommonEntryC_somPrintSelf;
  209. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDumpSelfInt(SOMTCommonEntryC *somSelf, 
  210.         long level);
  211. typedef somTP_SOMTCommonEntryC_somDumpSelfInt *somTD_SOMTCommonEntryC_somDumpSelfInt;
  212. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDumpSelf(SOMTCommonEntryC *somSelf, 
  213.         long level);
  214. typedef somTP_SOMTCommonEntryC_somDumpSelf *somTD_SOMTCommonEntryC_somDumpSelf;
  215. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDefaultInit(SOMTCommonEntryC *somSelf, 
  216.         som3InitCtrl* ctrl);
  217. typedef somTP_SOMTCommonEntryC_somDefaultInit *somTD_SOMTCommonEntryC_somDefaultInit;
  218. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDestruct(SOMTCommonEntryC *somSelf, 
  219.         octet doFree, 
  220.         som3DestructCtrl* ctrl);
  221. typedef somTP_SOMTCommonEntryC_somDestruct *somTD_SOMTCommonEntryC_somDestruct;
  222. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDefaultCopyInit(SOMTCommonEntryC *somSelf, 
  223.         som3InitCtrl* ctrl, 
  224.         SOMObject* fromObj);
  225. typedef somTP_SOMTCommonEntryC_somDefaultCopyInit *somTD_SOMTCommonEntryC_somDefaultCopyInit;
  226. typedef SOMTCommonEntryC*   SOMLINK somTP_SOMTCommonEntryC_somDefaultAssign(SOMTCommonEntryC *somSelf, 
  227.         som3AssignCtrl* ctrl, 
  228.         SOMObject* fromObj);
  229. typedef somTP_SOMTCommonEntryC_somDefaultAssign *somTD_SOMTCommonEntryC_somDefaultAssign;
  230. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDefaultConstCopyInit(SOMTCommonEntryC *somSelf, 
  231.         som3InitCtrl* ctrl, 
  232.         SOMObject* fromObj);
  233. typedef somTP_SOMTCommonEntryC_somDefaultConstCopyInit *somTD_SOMTCommonEntryC_somDefaultConstCopyInit;
  234. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDefaultVCopyInit(SOMTCommonEntryC *somSelf, 
  235.         som3InitCtrl* ctrl, 
  236.         SOMObject* fromObj);
  237. typedef somTP_SOMTCommonEntryC_somDefaultVCopyInit *somTD_SOMTCommonEntryC_somDefaultVCopyInit;
  238. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDefaultConstVCopyInit(SOMTCommonEntryC *somSelf, 
  239.         som3InitCtrl* ctrl, 
  240.         SOMObject* fromObj);
  241. typedef somTP_SOMTCommonEntryC_somDefaultConstVCopyInit *somTD_SOMTCommonEntryC_somDefaultConstVCopyInit;
  242. typedef SOMTCommonEntryC*   SOMLINK somTP_SOMTCommonEntryC_somDefaultConstAssign(SOMTCommonEntryC *somSelf, 
  243.         som3AssignCtrl* ctrl, 
  244.         SOMObject* fromObj);
  245. typedef somTP_SOMTCommonEntryC_somDefaultConstAssign *somTD_SOMTCommonEntryC_somDefaultConstAssign;
  246. typedef SOMTCommonEntryC*   SOMLINK somTP_SOMTCommonEntryC_somDefaultVAssign(SOMTCommonEntryC *somSelf, 
  247.         som3AssignCtrl* ctrl, 
  248.         SOMObject* fromObj);
  249. typedef somTP_SOMTCommonEntryC_somDefaultVAssign *somTD_SOMTCommonEntryC_somDefaultVAssign;
  250. typedef SOMTCommonEntryC*   SOMLINK somTP_SOMTCommonEntryC_somDefaultConstVAssign(SOMTCommonEntryC *somSelf, 
  251.         som3AssignCtrl* ctrl, 
  252.         SOMObject* fromObj);
  253. typedef somTP_SOMTCommonEntryC_somDefaultConstVAssign *somTD_SOMTCommonEntryC_somDefaultConstVAssign;
  254. typedef void   SOMLINK somTP_SOMTCommonEntryC_somFree(SOMTCommonEntryC *somSelf);
  255. typedef somTP_SOMTCommonEntryC_somFree *somTD_SOMTCommonEntryC_somFree;
  256. typedef SOMClass*   SOMLINK somTP_SOMTCommonEntryC_somGetClass(SOMTCommonEntryC *somSelf);
  257. typedef somTP_SOMTCommonEntryC_somGetClass *somTD_SOMTCommonEntryC_somGetClass;
  258. typedef string   SOMLINK somTP_SOMTCommonEntryC_somGetClassName(SOMTCommonEntryC *somSelf);
  259. typedef somTP_SOMTCommonEntryC_somGetClassName *somTD_SOMTCommonEntryC_somGetClassName;
  260. typedef long   SOMLINK somTP_SOMTCommonEntryC_somGetSize(SOMTCommonEntryC *somSelf);
  261. typedef somTP_SOMTCommonEntryC_somGetSize *somTD_SOMTCommonEntryC_somGetSize;
  262. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somIsA(SOMTCommonEntryC *somSelf, 
  263.         SOMClass* aClassObj);
  264. typedef somTP_SOMTCommonEntryC_somIsA *somTD_SOMTCommonEntryC_somIsA;
  265. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somIsInstanceOf(SOMTCommonEntryC *somSelf, 
  266.         SOMClass* aClassObj);
  267. typedef somTP_SOMTCommonEntryC_somIsInstanceOf *somTD_SOMTCommonEntryC_somIsInstanceOf;
  268. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somRespondsTo(SOMTCommonEntryC *somSelf, 
  269.         somId mId);
  270. typedef somTP_SOMTCommonEntryC_somRespondsTo *somTD_SOMTCommonEntryC_somRespondsTo;
  271. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somDispatch(SOMTCommonEntryC *somSelf, 
  272.         somToken* retValue, 
  273.         somId methodId, 
  274.         va_list ap);
  275. typedef somTP_SOMTCommonEntryC_somDispatch *somTD_SOMTCommonEntryC_somDispatch;
  276. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somClassDispatch(SOMTCommonEntryC *somSelf, 
  277.         SOMClass* clsObj, 
  278.         somToken* retValue, 
  279.         somId methodId, 
  280.         va_list ap);
  281. typedef somTP_SOMTCommonEntryC_somClassDispatch *somTD_SOMTCommonEntryC_somClassDispatch;
  282. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somCastObj(SOMTCommonEntryC *somSelf, 
  283.         SOMClass* cls);
  284. typedef somTP_SOMTCommonEntryC_somCastObj *somTD_SOMTCommonEntryC_somCastObj;
  285. typedef boolean   SOMLINK somTP_SOMTCommonEntryC_somResetObj(SOMTCommonEntryC *somSelf);
  286. typedef somTP_SOMTCommonEntryC_somResetObj *somTD_SOMTCommonEntryC_somResetObj;
  287. typedef void   SOMLINK somTP_SOMTCommonEntryC_somDispatchV(SOMTCommonEntryC *somSelf, 
  288.         somId methodId, 
  289.         somId descriptor, 
  290.         va_list ap);
  291. typedef somTP_SOMTCommonEntryC_somDispatchV *somTD_SOMTCommonEntryC_somDispatchV;
  292. typedef long   SOMLINK somTP_SOMTCommonEntryC_somDispatchL(SOMTCommonEntryC *somSelf, 
  293.         somId methodId, 
  294.         somId descriptor, 
  295.         va_list ap);
  296. typedef somTP_SOMTCommonEntryC_somDispatchL *somTD_SOMTCommonEntryC_somDispatchL;
  297. typedef void*   SOMLINK somTP_SOMTCommonEntryC_somDispatchA(SOMTCommonEntryC *somSelf, 
  298.         somId methodId, 
  299.         somId descriptor, 
  300.         va_list ap);
  301. typedef somTP_SOMTCommonEntryC_somDispatchA *somTD_SOMTCommonEntryC_somDispatchA;
  302. typedef double   SOMLINK somTP_SOMTCommonEntryC_somDispatchD(SOMTCommonEntryC *somSelf, 
  303.         somId methodId, 
  304.         somId descriptor, 
  305.         va_list ap);
  306. typedef somTP_SOMTCommonEntryC_somDispatchD *somTD_SOMTCommonEntryC_somDispatchD;
  307. }
  308.  
  309. #endif /* SOMTCommonEntryC_API */
  310.  
  311.  
  312. /*
  313.  * -- This emitter treats Method Tokens as Thunks by default.
  314.  * -- Use the sc modifier "nothunks" to change this default
  315.  */
  316. #undef somresolve_
  317. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  318.  
  319. /*
  320.  * -- The C++ Wrapper Class for SOMTCommonEntryC
  321.  */
  322. class SOMTCommonEntryC : public SOMTEntryC
  323. {
  324. /*
  325.  *  This class defines a number of methods and attributes that are
  326.  *  common to <SOMTMethodEntry>, <SOMTDataEntry>, and
  327.  *  <SOMTParameterEntry>.  No entries of this type will actually
  328.  *  be found in the entry graph, instead they will all be one of
  329.  *  the types mentioned above.
  330.  *  Exception: entries whose somtElementType is SOMTTypedefBE, which
  331.  *  represent a reference to a user-defined type, are instance of this class.
  332.  */
  333. public:
  334.  
  335. // SOMTCommonEntryC::new creates the class object if necessary, and then uses somNewNoInit
  336. // to allocate memory and create the object. Initialization is in ctors.
  337. void *operator new(size_t)
  338. {
  339.    if (!_SOMTCommonEntryC) SOMTCommonEntryCNewClass(SOMTCommonEntryC_MajorVersion,SOMTCommonEntryC_MinorVersion);
  340.    return (void*)
  341.       SOM_Resolve(_SOMTCommonEntryC,SOMClass,somNewNoInit)
  342.          ((SOMClass *)((void*)_SOMTCommonEntryC));
  343. }
  344.  
  345. // SOMTCommonEntryC::delete uses somDestruct.
  346. void operator delete(void * obj)
  347. {
  348.    if (obj && *(void**)obj) {
  349.       SOM_Resolve(obj,SOMObject,somFree)
  350.          ((SOMObject*)obj);
  351.    }
  352. }
  353.  
  354. SOMTCommonEntryC& operator=(SOMTCommonEntryC& fromObj)
  355. {
  356.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  357.    return *this;
  358. }
  359.  
  360. SOMTCommonEntryC()
  361. {
  362.    if (*(void**)this != 
  363.        ((somParentMtabStructPtr)
  364.         (SOMTCommonEntryCCClassData.parentMtab))->mtab)
  365.       return;
  366.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  367. }
  368.  
  369. SOMTCommonEntryC(SOMTCommonEntryC* fromObj)
  370. {
  371.    if (*(void**)this != 
  372.        ((somParentMtabStructPtr)
  373.         (SOMTCommonEntryCCClassData.parentMtab))->mtab)
  374.       return;
  375.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  376. }
  377.  
  378. #ifdef __IBMCPP__
  379. #pragma info(nocnv,nopar)
  380. #endif
  381. SOMTCommonEntryC(const SOMTCommonEntryC* fromObj)
  382. {
  383.    if (*(void**)this != 
  384.        ((somParentMtabStructPtr)
  385.         (SOMTCommonEntryCCClassData.parentMtab))->mtab)
  386.       return;
  387.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  388. }
  389. #ifdef __IBMCPP__
  390. #pragma info(restore)
  391. #endif
  392.  
  393.  
  394. /* method: _get_somtTypeObj */
  395. SOMTEntryC*   _get_somtTypeObj()
  396. {
  397. /*
  398.  *  The object representing the base type of the entry.
  399.  *  This does not include pointer stars or array declarators.
  400.  */
  401.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtTypeObj)
  402.     (this);
  403. }
  404.  
  405.  
  406. /* method: _get_somtPtrs */
  407. string   _get_somtPtrs()
  408. {
  409. /*
  410.  *  The string of stars associated with the entry's type.
  411.  *  For example, an object of type "foo" would have somtPtrs = NULL,
  412.  *  type "foo *" would have somtPtrs = "*", type
  413.  *  "foo **" would have somtPtrs = "**", etc.
  414.  */
  415.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtPtrs)
  416.     (this);
  417. }
  418.  
  419.  
  420. /* method: _get_somtArrayDimsString */
  421. string   _get_somtArrayDimsString()
  422. {
  423. /*
  424.  *  Array dimensions in string form.
  425.  */
  426.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtArrayDimsString)
  427.     (this);
  428. }
  429.  
  430.  
  431. /* method: somtGetFirstArrayDimension */
  432. unsigned long   somtGetFirstArrayDimension()
  433. {
  434. /*
  435.  *  The first array dimension, for items of type array.
  436.  *  Zero indicates that the item is not an array.
  437.  */
  438.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,somtGetFirstArrayDimension)
  439.     (this);
  440. }
  441.  
  442.  
  443. /* method: somtGetNextArrayDimension */
  444. unsigned long   somtGetNextArrayDimension()
  445. {
  446. /*
  447.  *  The next array dimension, for items of type array,
  448.  *  relative to the previous call to this method or to
  449.  *  somtGetFirstArrayDimension.  Zero indicates no more dimensions.
  450.  */
  451.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,somtGetNextArrayDimension)
  452.     (this);
  453. }
  454.  
  455.  
  456. /* method: _get_somtSourceText */
  457. string   _get_somtSourceText()
  458. {
  459. /*
  460.  *  The un-parsed source text for this entry, with leading and
  461.  *  trailing white space removed.  For attribute/typedef declarators
  462.  *  and for user-defined types, this attribute only provides the
  463.  *  source text for the entry's name.  For methods, arguments,
  464.  *  and instance variables, however, this attribute provides the
  465.  *  full definition.
  466.  */
  467.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtSourceText)
  468.     (this);
  469. }
  470.  
  471.  
  472. /* method: _get_somtType */
  473. string   _get_somtType()
  474. {
  475. /*
  476.  *  The IDL type for this entry in string form. For methods this is the
  477.  *  return type.  For data or parameters this is the type of the data
  478.  *  item or parameter. For user-defined types, this is the type specification.
  479.  *  It is of the form:   <typename><pointer-stars> <array-declarators>
  480.  */
  481.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtType)
  482.     (this);
  483. }
  484.  
  485.  
  486. /* method: _get_somtVisibility */
  487. somtVisibilityT   _get_somtVisibility()
  488. {
  489. /*
  490.  *  The visibility of this entry.  Note: the visibility of
  491.  *  parameter entries will always be public, and methods can never be
  492.  *  internal.
  493.  */
  494.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,_get_somtVisibility)
  495.     (this);
  496. }
  497.  
  498.  
  499. /* method: somtIsArray */
  500. boolean   somtIsArray(long* size)
  501. {
  502. /*
  503.  *  Returns 1 (true) if the type involves an array.  When the type
  504.  *  involves an array then <size> is set to be the size of the
  505.  *  array.
  506.  */
  507.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,somtIsArray)
  508.     (this,size);
  509. }
  510.  
  511.  
  512. /* method: somtIsPointer */
  513. boolean   somtIsPointer()
  514. {
  515. /*
  516.  *  Returns 1 (true) if the type involves a pointer, and 0 (false)
  517.  *  otherwise
  518.  */
  519.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTCommonEntryC,somtIsPointer)
  520.     (this);
  521. }
  522.  
  523.  
  524. /*
  525.  * Reintroduce inherited methods
  526.  */
  527.  
  528. /* method: _get_somtEntryName */
  529. string   _get_somtEntryName()
  530. {
  531. /*
  532.  *  The name associated with this entry.  Eg, the name of
  533.  *  the data item, the class, the method, the type, etc.
  534.  */
  535.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtEntryName)
  536.     (this);
  537. }
  538.  
  539.  
  540. /* method: _set_somtEntryName */
  541. void   _set_somtEntryName(string somtEntryName)
  542. {
  543. /*
  544.  *  The name associated with this entry.  Eg, the name of
  545.  *  the data item, the class, the method, the type, etc.
  546.  */
  547.    SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_set_somtEntryName)
  548.     (this,somtEntryName);
  549. }
  550.  
  551.  
  552. /* method: _get_somtElementType */
  553. SOMTTypes   _get_somtElementType()
  554. {
  555. /*
  556.  *  Returns the type of this entry.
  557.  *  This is not datatype, but entry type (method, class,
  558.  *  passthru, etc.). The value is defined by SOMTTypes.
  559.  */
  560.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtElementType)
  561.     (this);
  562. }
  563.  
  564.  
  565. /* method: _set_somtElementType */
  566. void   _set_somtElementType(SOMTTypes somtElementType)
  567. {
  568. /*
  569.  *  Returns the type of this entry.
  570.  *  This is not datatype, but entry type (method, class,
  571.  *  passthru, etc.). The value is defined by SOMTTypes.
  572.  */
  573.    SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_set_somtElementType)
  574.     (this,somtElementType);
  575. }
  576.  
  577.  
  578. /* method: _get_somtElementTypeName */
  579. string   _get_somtElementTypeName()
  580. {
  581. /*
  582.  *  String version of somtElementType.
  583.  */
  584.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtElementTypeName)
  585.     (this);
  586. }
  587.  
  588.  
  589. /* method: _get_somtEntryComment */
  590. string   _get_somtEntryComment()
  591. {
  592. /*
  593.  *  Returns the comment associated with this entry, or NULL is this
  594.  *  entry has no associated comment.  Comments will have comment
  595.  *  delimitors removed, but will retain newline characters as
  596.  *  specified in the source file. (use smLookupComment)
  597.  */
  598.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtEntryComment)
  599.     (this);
  600. }
  601.  
  602.  
  603. /* method: _get_somtSourceLineNumber */
  604. unsigned long   _get_somtSourceLineNumber()
  605. {
  606. /*
  607.  *  Returns the line number in the source file where this entry's
  608.  *  syntactic form ended.
  609.  */
  610.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtSourceLineNumber)
  611.     (this);
  612. }
  613.  
  614.  
  615. /* method: _get_somtTypeCode */
  616. TypeCode   _get_somtTypeCode()
  617. {
  618. /*
  619.  *  The typecode, if appropriate, or NULL.
  620.  */
  621.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtTypeCode)
  622.     (this);
  623. }
  624.  
  625.  
  626. /* method: _get_somtIsReference */
  627. boolean   _get_somtIsReference()
  628. {
  629. /*
  630.  *  Whether the entry is just a reference to the real type (TRUE)
  631.  *  rather than a declaration of it (FALSE).
  632.  */
  633.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtIsReference)
  634.     (this);
  635. }
  636.  
  637.  
  638. /* method: _get_somtIDLScopedName */
  639. string   _get_somtIDLScopedName()
  640. {
  641. /*
  642.  *  The IDL scoped name of the entry (using double colon as delimiter).
  643.  */
  644.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtIDLScopedName)
  645.     (this);
  646. }
  647.  
  648.  
  649. /* method: _get_somtCScopedName */
  650. string   _get_somtCScopedName()
  651. {
  652. /*
  653.  *  The C scoped name of the entry (using underscore as delimiter).
  654.  */
  655.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,_get_somtCScopedName)
  656.     (this);
  657. }
  658.  
  659.  
  660. /* method: somtGetModifierValue */
  661. string   somtGetModifierValue(string modifierName)
  662. {
  663. /*
  664.  *  Returns the value of the named modifier if this entry has the
  665.  *  named modifier and NULL otherwise. Note: if the modifier is
  666.  *  present but does not have a value then a value of <'\1'> is
  667.  *  returned.
  668.  */
  669.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtGetModifierValue)
  670.     (this,modifierName);
  671. }
  672.  
  673.  
  674. /* method: somtGetFirstModifier */
  675. boolean   somtGetFirstModifier(string* modifierName, 
  676.         string* modifierValue)
  677. {
  678. /*
  679.  *  Returns the first modifier associated with this entry.  1 (true)
  680.  *  is returned if the entry has at least one modifier and 0 (false)
  681.  *  otherwise.
  682.  */
  683.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtGetFirstModifier)
  684.     (this,modifierName,modifierValue);
  685. }
  686.  
  687.  
  688. /* method: somtGetNextModifier */
  689. boolean   somtGetNextModifier(string* modifierName, 
  690.         string* modifierValue)
  691. {
  692. /*
  693.  *  Returns the next modifier (with respect to the last call to
  694.  *  <somtGetNextModifier> or <somtGetFirstModifier>)
  695.  *  associated with this entry.  1 (true) is returned if the entry
  696.  *  had another modifier and 0 (false) otherwise.
  697.  */
  698.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtGetNextModifier)
  699.     (this,modifierName,modifierValue);
  700. }
  701.  
  702.  
  703. /* method: somtFormatModifier */
  704. long   somtFormatModifier(string buffer, 
  705.         string name, 
  706.         string value)
  707. {
  708. /*
  709.  *  Formats the indicated name/value pair into buffer.  Buffer must
  710.  *  be big enough to hold all the formatted pair, no checks are made.
  711.  *  The number of characters added to buffer are returned (not
  712.  *  including the trailing null character).
  713.  *  Note: value may be null
  714.  *  You will probably never call this method, it is provided so that
  715.  *  you can override it to control the format returned in
  716.  *  <somtGetModifierList>.
  717.  */
  718.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtFormatModifier)
  719.     (this,buffer,name,value);
  720. }
  721.  
  722.  
  723. /* method: somtGetModifierList */
  724. long   somtGetModifierList(string buffer)
  725. {
  726. /*
  727.  *  The modifiers for this entry are placed in <buffer> in template
  728.  *  list form (newline separated).  Buffer must be big enough to
  729.  *  hold all the modifiers, no checks are made. The number of
  730.  *  modifiers is returned.
  731.  */
  732.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtGetModifierList)
  733.     (this,buffer);
  734. }
  735.  
  736.  
  737. /* method: somtSetSymbolsOnEntry */
  738. long   somtSetSymbolsOnEntry(SOMTEmitC* emitter, 
  739.         string prefix)
  740. {
  741. /*
  742.  *  Places a number of symbol/value pairs in <t>.  All the symbols
  743.  *  will begin with <prefix>.
  744.  */
  745.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtSetSymbolsOnEntry)
  746.     (this,emitter,prefix);
  747. }
  748.  
  749.  
  750. /* method: somtSetEntryStruct */
  751. void   somtSetEntryStruct(Entry* es)
  752. {
  753. /*
  754.  *  Sets the entry struct data member.
  755.  *  Note, when overridding this method, it is important to call the
  756.  *  parent version of the method first and then do your processing.
  757.  */
  758.    SOM_ResolveD(this,SOMTCommonEntryC,SOMTEntryC,somtSetEntryStruct)
  759.     (this,es);
  760. }
  761.  
  762.  
  763. /* method: somInit */
  764. void   somInit()
  765. {
  766.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somInit)
  767.     (this);
  768. }
  769.  
  770.  
  771. /* method: somUninit */
  772. void   somUninit()
  773. {
  774.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somUninit)
  775.     (this);
  776. }
  777.  
  778.  
  779. /* method: somPrintSelf */
  780. SOMObject*   somPrintSelf()
  781. {
  782.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somPrintSelf)
  783.     (this);
  784. }
  785.  
  786.  
  787. /* method: somDumpSelfInt */
  788. void   somDumpSelfInt(long level)
  789. {
  790.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDumpSelfInt)
  791.     (this,level);
  792. }
  793.  
  794.  
  795. /* method: somDumpSelf */
  796. void   somDumpSelf(long level)
  797. {
  798.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDumpSelf)
  799.     (this,level);
  800. }
  801.  
  802.  
  803. /* initializer method: somDefaultInit */
  804. void   somDefaultInit(som3InitCtrl* ctrl)
  805. {
  806. /*
  807.  *  A default initializer for a SOM object. Passing a null ctrl
  808.  *  indicates to the receiver that its class is the class of the
  809.  *  object being initialized, whereby the initializer will determine
  810.  *  an appropriate control structure.
  811.  */
  812.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultInit)
  813.     (this,ctrl);
  814. }
  815.  
  816.  
  817. /* method: somDestruct */
  818. void   somDestruct(octet doFree, 
  819.         som3DestructCtrl* ctrl)
  820. {
  821. /*
  822.  *  The default destructor for a SOM object. A nonzero <doFree>
  823.  *  indicates that the object storage should be freed by the
  824.  *  object's class (via somDeallocate) after uninitialization.
  825.  *  As with somDefaultInit, a null ctrl can be passed.
  826.  */
  827.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDestruct)
  828.     (this,doFree,ctrl);
  829. }
  830.  
  831.  
  832. /* initializer method: somDefaultCopyInit */
  833. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  834.         SOMObject* fromObj)
  835. {
  836. /*
  837.  *  A default copy constructor. Use this to make copies of objects for
  838.  *  calling methods with "by-value" argument semantics.
  839.  */
  840.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultCopyInit)
  841.     (this,ctrl,fromObj);
  842. }
  843.  
  844.  
  845. /* method: somDefaultAssign */
  846. SOMTCommonEntryC*  somDefaultAssign(som3AssignCtrl* ctrl, 
  847.         SOMObject* fromObj)
  848. {
  849. /*
  850.  *  A default assignment operator. Use this to "assign" the state of one
  851.  *  object to another.
  852.  */
  853.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultAssign)
  854.     (this,ctrl,fromObj);
  855. }
  856.  
  857.  
  858. /* initializer method: somDefaultConstCopyInit */
  859. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  860.         SOMObject* fromObj)
  861. {
  862. /*
  863.  *  A default copy constructor that uses a const fromObj.
  864.  */
  865.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultConstCopyInit)
  866.     (this,ctrl,fromObj);
  867. }
  868.  
  869.  
  870. /* initializer method: somDefaultVCopyInit */
  871. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  872.         SOMObject* fromObj)
  873. {
  874. /*
  875.  *  A default copy constructor that uses a volatile fromObj.
  876.  */
  877.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultVCopyInit)
  878.     (this,ctrl,fromObj);
  879. }
  880.  
  881.  
  882. /* initializer method: somDefaultConstVCopyInit */
  883. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  884.         SOMObject* fromObj)
  885. {
  886. /*
  887.  *  A default copy constructor that uses a const volatile fromObj.
  888.  */
  889.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultConstVCopyInit)
  890.     (this,ctrl,fromObj);
  891. }
  892.  
  893.  
  894. /* method: somDefaultConstAssign */
  895. SOMTCommonEntryC*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  896.         SOMObject* fromObj)
  897. {
  898. /*
  899.  *  A default assignment operator that uses a const fromObj.
  900.  */
  901.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultConstAssign)
  902.     (this,ctrl,fromObj);
  903. }
  904.  
  905.  
  906. /* method: somDefaultVAssign */
  907. SOMTCommonEntryC*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  908.         SOMObject* fromObj)
  909. {
  910. /*
  911.  *  A default assignment operator that uses a volatile fromObj.
  912.  */
  913.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultVAssign)
  914.     (this,ctrl,fromObj);
  915. }
  916.  
  917.  
  918. /* method: somDefaultConstVAssign */
  919. SOMTCommonEntryC*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  920.         SOMObject* fromObj)
  921. {
  922. /*
  923.  *  A default assignment operator that uses a const volatile fromObj.
  924.  */
  925.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDefaultConstVAssign)
  926.     (this,ctrl,fromObj);
  927. }
  928.  
  929.  
  930. /* method: somFree */
  931. void   somFree()
  932. {
  933. /*
  934.  *  Use as directed by framework implementations.
  935.  */
  936.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somFree)
  937.     (this);
  938. }
  939.  
  940.  
  941. /* method: somGetClass */
  942. SOMClass*   somGetClass()
  943. {
  944. /*
  945.  *  Return the receiver's class.
  946.  */
  947.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somGetClass)
  948.     (this);
  949. }
  950.  
  951.  
  952. /* method: somGetClassName */
  953. string   somGetClassName()
  954. {
  955. /*
  956.  *  Return the name of the receiver's class.
  957.  */
  958.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somGetClassName)
  959.     (this);
  960. }
  961.  
  962.  
  963. /* method: somGetSize */
  964. long   somGetSize()
  965. {
  966. /*
  967.  *  Return the size of the receiver.
  968.  */
  969.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somGetSize)
  970.     (this);
  971. }
  972.  
  973.  
  974. /* method: somIsA */
  975. boolean   somIsA(SOMClass* aClassObj)
  976. {
  977. /*
  978.  *  Returns 1 (true) if the receiver responds to methods
  979.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  980.  */
  981.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somIsA)
  982.     (this,aClassObj);
  983. }
  984.  
  985.  
  986. /* method: somIsInstanceOf */
  987. boolean   somIsInstanceOf(SOMClass* aClassObj)
  988. {
  989. /*
  990.  *  Returns 1 (true) if the receiver is an instance of
  991.  *  <aClassObj> and 0 (false) otherwise.
  992.  */
  993.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somIsInstanceOf)
  994.     (this,aClassObj);
  995. }
  996.  
  997.  
  998. /* method: somRespondsTo */
  999. boolean   somRespondsTo(somId mId)
  1000. {
  1001. /*
  1002.  *  Returns 1 (true) if the indicated method can be invoked
  1003.  *  on the receiver and 0 (false) otherwise.
  1004.  */
  1005.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somRespondsTo)
  1006.     (this,mId);
  1007. }
  1008.  
  1009.  
  1010. /* va_list method: somDispatch */
  1011.  
  1012. /*
  1013.  *  This method provides a generic, class-specific dispatch mechanism.
  1014.  *  It accepts as input <retValue> a pointer to the memory area to be
  1015.  *  loaded with the result of dispatching the method indicated by
  1016.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  1017.  *  on which the method is to be invoked as the first argument.
  1018.  */
  1019. /* the va_list invocation form */
  1020. boolean   SOMTCommonEntryC_somDispatch(somToken* retValue, 
  1021.         somId methodId, 
  1022.         va_list ap)
  1023. {return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatch)
  1024.     (this,retValue,methodId,ap);
  1025. }
  1026.  
  1027. /* the varargs invocation form */
  1028. boolean   somDispatch(somToken* retValue, 
  1029.         somId methodId, 
  1030.         ...)
  1031. {
  1032. /*
  1033.  *  This method provides a generic, class-specific dispatch mechanism.
  1034.  *  It accepts as input <retValue> a pointer to the memory area to be
  1035.  *  loaded with the result of dispatching the method indicated by
  1036.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  1037.  *  on which the method is to be invoked as the first argument.
  1038.  */
  1039.    va_list ap;
  1040.    va_start(ap, methodId);
  1041.    boolean __somResult = 
  1042.       SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatch)
  1043.     (this,retValue,methodId,ap);
  1044.    va_end(ap);
  1045.    return __somResult;
  1046. }
  1047.  
  1048.  
  1049. /* va_list method: somClassDispatch */
  1050.  
  1051. /*
  1052.  *  Like somDispatch, but method resolution for static methods is done
  1053.  *  according to the clsObj instance method table.
  1054.  */
  1055. /* the va_list invocation form */
  1056. boolean   SOMTCommonEntryC_somClassDispatch(SOMClass* clsObj, 
  1057.         somToken* retValue, 
  1058.         somId methodId, 
  1059.         va_list ap)
  1060. {return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somClassDispatch)
  1061.     (this,clsObj,retValue,methodId,ap);
  1062. }
  1063.  
  1064. /* the varargs invocation form */
  1065. boolean   somClassDispatch(SOMClass* clsObj, 
  1066.         somToken* retValue, 
  1067.         somId methodId, 
  1068.         ...)
  1069. {
  1070. /*
  1071.  *  Like somDispatch, but method resolution for static methods is done
  1072.  *  according to the clsObj instance method table.
  1073.  */
  1074.    va_list ap;
  1075.    va_start(ap, methodId);
  1076.    boolean __somResult = 
  1077.       SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somClassDispatch)
  1078.     (this,clsObj,retValue,methodId,ap);
  1079.    va_end(ap);
  1080.    return __somResult;
  1081. }
  1082.  
  1083.  
  1084. /* method: somCastObj */
  1085. boolean   somCastObj(SOMClass* cls)
  1086. {
  1087. /*
  1088.  *  cast the receiving object to cls (which must be an ancestor of the
  1089.  *  objects true class. Returns true on success.
  1090.  */
  1091.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somCastObj)
  1092.     (this,cls);
  1093. }
  1094.  
  1095.  
  1096. /* method: somResetObj */
  1097. boolean   somResetObj()
  1098. {
  1099. /*
  1100.  *  reset an object to its true class. Returns true always.
  1101.  */
  1102.    return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somResetObj)
  1103.     (this);
  1104. }
  1105.  
  1106.  
  1107. /* va_list method: somDispatchV */
  1108.  
  1109. /*
  1110.  *  Obsolete. Use somDispatch instead.
  1111.  */
  1112. /* the va_list invocation form */
  1113. void   SOMTCommonEntryC_somDispatchV(somId methodId, 
  1114.         somId descriptor, 
  1115.         va_list ap)
  1116. {   SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchV)
  1117.     (this,methodId,descriptor,ap);
  1118. }
  1119.  
  1120. /* the varargs invocation form */
  1121. void   somDispatchV(somId methodId, 
  1122.         somId descriptor, 
  1123.         ...)
  1124. {
  1125. /*
  1126.  *  Obsolete. Use somDispatch instead.
  1127.  */
  1128.    va_list ap;
  1129.    va_start(ap, descriptor);
  1130.    SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchV)
  1131.     (this,methodId,descriptor,ap);
  1132.    va_end(ap);
  1133. }
  1134.  
  1135.  
  1136. /* va_list method: somDispatchL */
  1137.  
  1138. /*
  1139.  *  Obsolete. Use somDispatch instead.
  1140.  */
  1141. /* the va_list invocation form */
  1142. long   SOMTCommonEntryC_somDispatchL(somId methodId, 
  1143.         somId descriptor, 
  1144.         va_list ap)
  1145. {return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchL)
  1146.     (this,methodId,descriptor,ap);
  1147. }
  1148.  
  1149. /* the varargs invocation form */
  1150. long   somDispatchL(somId methodId, 
  1151.         somId descriptor, 
  1152.         ...)
  1153. {
  1154. /*
  1155.  *  Obsolete. Use somDispatch instead.
  1156.  */
  1157.    va_list ap;
  1158.    va_start(ap, descriptor);
  1159.    long __somResult = 
  1160.       SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchL)
  1161.     (this,methodId,descriptor,ap);
  1162.    va_end(ap);
  1163.    return __somResult;
  1164. }
  1165.  
  1166.  
  1167. /* va_list method: somDispatchA */
  1168.  
  1169. /*
  1170.  *  Obsolete. Use somDispatch instead.
  1171.  */
  1172. /* the va_list invocation form */
  1173. void*   SOMTCommonEntryC_somDispatchA(somId methodId, 
  1174.         somId descriptor, 
  1175.         va_list ap)
  1176. {return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchA)
  1177.     (this,methodId,descriptor,ap);
  1178. }
  1179.  
  1180. /* the varargs invocation form */
  1181. void*   somDispatchA(somId methodId, 
  1182.         somId descriptor, 
  1183.         ...)
  1184. {
  1185. /*
  1186.  *  Obsolete. Use somDispatch instead.
  1187.  */
  1188.    va_list ap;
  1189.    va_start(ap, descriptor);
  1190.    void* __somResult = 
  1191.       SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchA)
  1192.     (this,methodId,descriptor,ap);
  1193.    va_end(ap);
  1194.    return __somResult;
  1195. }
  1196.  
  1197.  
  1198. /* va_list method: somDispatchD */
  1199.  
  1200. /*
  1201.  *  Obsolete. Use somDispatch instead.
  1202.  */
  1203. /* the va_list invocation form */
  1204. double   SOMTCommonEntryC_somDispatchD(somId methodId, 
  1205.         somId descriptor, 
  1206.         va_list ap)
  1207. {return SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchD)
  1208.     (this,methodId,descriptor,ap);
  1209. }
  1210.  
  1211. /* the varargs invocation form */
  1212. double   somDispatchD(somId methodId, 
  1213.         somId descriptor, 
  1214.         ...)
  1215. {
  1216. /*
  1217.  *  Obsolete. Use somDispatch instead.
  1218.  */
  1219.    va_list ap;
  1220.    va_start(ap, descriptor);
  1221.    double __somResult = 
  1222.       SOM_ResolveD(this,SOMTCommonEntryC,SOMObject,somDispatchD)
  1223.     (this,methodId,descriptor,ap);
  1224.    va_end(ap);
  1225.    return __somResult;
  1226. }
  1227.  
  1228.  
  1229.  
  1230. };   /* SOMTCommonEntryC */
  1231.  
  1232.  
  1233.  
  1234. #endif       /* SOM_SOMTCommonEntryC_xh */
  1235.