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

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