home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / scunion.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  12.4 KB  |  347 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\scunion.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *   COMPONENT_NAME: some
  13.  * 
  14.  *   ORIGINS: 27
  15.  * 
  16.  * 
  17.  *   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *   All Rights Reserved
  19.  *   Licensed Materials - Property of IBM
  20.  *   US Government Users Restricted Rights - Use, duplication or
  21.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  *  %Z% %I% %W% %G% %U% [%H% %T%]
  23.  * 
  24.  */
  25.  
  26.  
  27. #ifndef SOM_SOMTUnionEntryC_h
  28. #define SOM_SOMTUnionEntryC_h
  29.  
  30.  
  31. #include <som.h>
  32.  
  33. /*
  34.  * -- This emitter treats Method Tokens as Thunks by default.
  35.  * -- Use the sc modifier "nothunks" to change this default
  36.  */
  37. #undef somresolve_
  38. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  39.  
  40. /*
  41.  * Define the class name as an object type
  42.  */
  43. #ifndef SOMTUnionEntryC
  44. #define SOMTUnionEntryC SOMObject
  45. #endif
  46. #include <scentry.h>
  47.  
  48. /*
  49.  * Start of user-defined types:
  50.  */
  51. #ifndef SOMClass
  52.     #define SOMClass SOMObject
  53. #endif /* SOMClass */
  54. #ifndef SOMTEntryC
  55.     #define SOMTEntryC SOMObject
  56. #endif /* SOMTEntryC */
  57. #ifndef SOMTEmitC
  58.     #define SOMTEmitC SOMObject
  59. #endif /* SOMTEmitC */
  60. #ifndef SOMTMetaClassEntryC
  61.     #define SOMTMetaClassEntryC SOMObject
  62. #endif /* SOMTMetaClassEntryC */
  63. #ifndef SOMTAttributeEntryC
  64.     #define SOMTAttributeEntryC SOMObject
  65. #endif /* SOMTAttributeEntryC */
  66. #ifndef SOMTTypedefEntryC
  67.     #define SOMTTypedefEntryC SOMObject
  68. #endif /* SOMTTypedefEntryC */
  69. #ifndef SOMTBaseClassEntryC
  70.     #define SOMTBaseClassEntryC SOMObject
  71. #endif /* SOMTBaseClassEntryC */
  72. #ifndef SOMTPassthruEntryC
  73.     #define SOMTPassthruEntryC SOMObject
  74. #endif /* SOMTPassthruEntryC */
  75. #ifndef SOMTDataEntryC
  76.     #define SOMTDataEntryC SOMObject
  77. #endif /* SOMTDataEntryC */
  78. #ifndef SOMTMethodEntryC
  79.     #define SOMTMethodEntryC SOMObject
  80. #endif /* SOMTMethodEntryC */
  81. #ifndef SOMTClassEntryC
  82.     #define SOMTClassEntryC SOMObject
  83. #endif /* SOMTClassEntryC */
  84. #ifndef SOMTModuleEntryC
  85.     #define SOMTModuleEntryC SOMObject
  86. #endif /* SOMTModuleEntryC */
  87. #ifndef SOMTParameterEntryC
  88.     #define SOMTParameterEntryC SOMObject
  89. #endif /* SOMTParameterEntryC */
  90. #ifndef SOMTStructEntryC
  91.     #define SOMTStructEntryC SOMObject
  92. #endif /* SOMTStructEntryC */
  93. #ifndef SOMTUnionEntryC
  94.     #define SOMTUnionEntryC SOMObject
  95. #endif /* SOMTUnionEntryC */
  96. #ifndef SOMTEnumEntryC
  97.     #define SOMTEnumEntryC SOMObject
  98. #endif /* SOMTEnumEntryC */
  99. #ifndef SOMTConstEntryC
  100.     #define SOMTConstEntryC SOMObject
  101. #endif /* SOMTConstEntryC */
  102. #ifndef SOMTSequenceEntryC
  103.     #define SOMTSequenceEntryC SOMObject
  104. #endif /* SOMTSequenceEntryC */
  105. #ifndef SOMTStringEntryC
  106.     #define SOMTStringEntryC SOMObject
  107. #endif /* SOMTStringEntryC */
  108. #ifndef SOMTEnumNameEntryC
  109.     #define SOMTEnumNameEntryC SOMObject
  110. #endif /* SOMTEnumNameEntryC */
  111. #ifndef SOMTCommonEntryC
  112.     #define SOMTCommonEntryC SOMObject
  113. #endif /* SOMTCommonEntryC */
  114. #ifndef SOMTUserDefinedTypeEntryC
  115.     #define SOMTUserDefinedTypeEntryC SOMObject
  116. #endif /* SOMTUserDefinedTypeEntryC */
  117. typedef
  118. struct SOMTUnionEntryC_somtLabelList {
  119. string  label;
  120. struct SOMTUnionEntryC_somtLabelList* nextLabel;
  121. } SOMTUnionEntryC_somtLabelList;
  122.  
  123. /*
  124.  *  Linked list of case labels.
  125.  */
  126. typedef
  127. struct SOMTUnionEntryC_somtCaseEntry {
  128. struct SOMTUnionEntryC_somtLabelList* caseLabels;
  129.  
  130. /*
  131.  *  The labels for this case.
  132.  */
  133. SOMTEntryC* memberType;
  134.  
  135. /*
  136.  *  The type of the member.
  137.  */
  138. SOMTDataEntryC* memberDeclarator;
  139.  
  140. /*
  141.  *  The declarator for the member.
  142.  */
  143. } SOMTUnionEntryC_somtCaseEntry;
  144.  
  145. /*
  146.  *  A case for the union.
  147.  */
  148.  
  149. #ifndef SOM_DONT_USE_SHORT_NAMES
  150. #ifndef SOMTGD_somtLabelList
  151.     #ifdef somtLabelList
  152.         #undef somtLabelList
  153.         #define SOMTGD_somtLabelList 1
  154.     #else
  155.         #define somtLabelList SOMTUnionEntryC_somtLabelList
  156.     #endif /* somtLabelList */
  157. #endif /* SOMTGD_somtLabelList */
  158. #ifndef SOMTGD_somtCaseEntry
  159.     #ifdef somtCaseEntry
  160.         #undef somtCaseEntry
  161.         #define SOMTGD_somtCaseEntry 1
  162.     #else
  163.         #define somtCaseEntry SOMTUnionEntryC_somtCaseEntry
  164.     #endif /* somtCaseEntry */
  165. #endif /* SOMTGD_somtCaseEntry */
  166. #endif /* SOM_DONT_USE_SHORT_NAMES */
  167.  
  168. /*
  169.  * End of user-defined types.
  170.  */
  171.  
  172. #define SOMTUnionEntryC_MajorVersion 2
  173. #define SOMTUnionEntryC_MinorVersion 1
  174.  
  175. /*
  176.  * External name shortening if required
  177.  */
  178. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  179. #define SOMTUnionEntryCNewClass c
  180. #define SOMTUnionEntryCClassData d
  181. #define SOMTUnionEntryCCClassData x
  182. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  183. /*--------------Migration------------*/
  184. #define SOMTUnionEntryC_classObj SOMTUnionEntryCClassData.classObject
  185. #define _SOMTUnionEntryC SOMTUnionEntryC_classObj
  186.  
  187. /*
  188.  * Declare the class creation procedure
  189.  */
  190. SOMEXTERN
  191. #if (defined(SOM_Module_scunion_Source) || defined(SOMTUnionEntryC_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMTUnionEntryC))
  192. WIN32_DLLEXPORT
  193. #else
  194. WIN32_DLLIMPORT
  195. #endif
  196. SOMClass * SOMLINK SOMTUnionEntryCNewClass(integer4 somntmajorVersion,
  197.         integer4 somntminorVersion);
  198.  
  199. /*
  200.  * Declare the class data structure
  201.  */
  202. SOMEXTERN struct SOMTUnionEntryCClassDataStructure {
  203.     SOMClass *classObject;
  204.     somMToken _get_somtSwitchType;
  205.     somMToken somtGetFirstCaseEntry;
  206.     somMToken somtGetNextCaseEntry;
  207. #if (defined(SOM_Module_scunion_Source) || defined(SOMTUnionEntryC_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMTUnionEntryC))
  208. } WIN32_DLLEXPORT SOMDLINK SOMTUnionEntryCClassData;
  209. #else
  210. } WIN32_DLLIMPORT SOMDLINK SOMTUnionEntryCClassData;
  211. #endif
  212.  
  213. /*
  214.  * Declare the C specific class data structure
  215.  */
  216. SOMEXTERN struct SOMTUnionEntryCCClassDataStructure {
  217.     somMethodTabs parentMtab;
  218.     somDToken instanceDataToken;
  219. #if (defined(SOM_Module_scunion_Source) || defined(SOMTUnionEntryC_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMTUnionEntryC))
  220. } WIN32_DLLEXPORT SOMDLINK SOMTUnionEntryCCClassData;
  221. #else
  222. } WIN32_DLLIMPORT SOMDLINK SOMTUnionEntryCCClassData;
  223. #endif
  224.  
  225. /*
  226.  * New and Renew macros for SOMTUnionEntryC
  227.  */
  228. #define SOMTUnionEntryCNew() \
  229.    (_somNew(_SOMTUnionEntryC ? _SOMTUnionEntryC : SOMTUnionEntryCNewClass(SOMTUnionEntryC_MajorVersion, SOMTUnionEntryC_MinorVersion)))
  230. #define SOMTUnionEntryCRenew(buf) \
  231.    (_somRenew(_SOMTUnionEntryC ? _SOMTUnionEntryC : SOMTUnionEntryCNewClass(SOMTUnionEntryC_MajorVersion, SOMTUnionEntryC_MinorVersion), buf))
  232.  
  233. /*
  234.  * Override method: somDumpSelfInt
  235.  */
  236. #define SOMTUnionEntryC_somDumpSelfInt(somSelf,level) \
  237.     SOMObject_somDumpSelfInt(somSelf,level)
  238.  
  239. /*
  240.  * Override method: somtSetSymbolsOnEntry
  241.  */
  242. #define SOMTUnionEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix) \
  243.     SOMTEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix)
  244.  
  245. /*
  246.  * New Method: _get_somtSwitchType
  247.  */
  248. typedef SOMTEntryC*   SOMLINK somTP_SOMTUnionEntryC__get_somtSwitchType(SOMTUnionEntryC *somSelf);
  249. typedef somTP_SOMTUnionEntryC__get_somtSwitchType *somTD_SOMTUnionEntryC__get_somtSwitchType;
  250. #define somMD_SOMTUnionEntryC__get_somtSwitchType "::SOMTUnionEntryC::_get_somtSwitchType"
  251. #define SOMTUnionEntryC__get_somtSwitchType(somSelf) \
  252.     (SOM_Resolve(somSelf, SOMTUnionEntryC, _get_somtSwitchType) \
  253.     (somSelf))
  254. #ifndef SOMGD_get_somtSwitchType
  255.     #if (defined(_get_somtSwitchType) || defined(__get_somtSwitchType))
  256.         #undef _get_somtSwitchType
  257.         #undef __get_somtSwitchType
  258.         #define SOMGD_get_somtSwitchType 1
  259.     #else
  260.         #define __get_somtSwitchType SOMTUnionEntryC__get_somtSwitchType
  261.     #endif /* __get_somtSwitchType */
  262. #endif /* SOMGD_get_somtSwitchType */
  263.  
  264. /*
  265.  * New Method: somtGetFirstCaseEntry
  266.  */
  267. typedef SOMTUnionEntryC_somtCaseEntry*   SOMLINK somTP_SOMTUnionEntryC_somtGetFirstCaseEntry(SOMTUnionEntryC *somSelf);
  268. typedef somTP_SOMTUnionEntryC_somtGetFirstCaseEntry *somTD_SOMTUnionEntryC_somtGetFirstCaseEntry;
  269. #define somMD_SOMTUnionEntryC_somtGetFirstCaseEntry "::SOMTUnionEntryC::somtGetFirstCaseEntry"
  270. #define SOMTUnionEntryC_somtGetFirstCaseEntry(somSelf) \
  271.     (SOM_Resolve(somSelf, SOMTUnionEntryC, somtGetFirstCaseEntry) \
  272.     (somSelf))
  273. #ifndef SOMGD_somtGetFirstCaseEntry
  274.     #if (defined(_somtGetFirstCaseEntry) || defined(__somtGetFirstCaseEntry))
  275.         #undef _somtGetFirstCaseEntry
  276.         #undef __somtGetFirstCaseEntry
  277.         #define SOMGD_somtGetFirstCaseEntry 1
  278.     #else
  279.         #define _somtGetFirstCaseEntry SOMTUnionEntryC_somtGetFirstCaseEntry
  280.     #endif /* _somtGetFirstCaseEntry */
  281. #endif /* SOMGD_somtGetFirstCaseEntry */
  282.  
  283. /*
  284.  * New Method: somtGetNextCaseEntry
  285.  */
  286. typedef SOMTUnionEntryC_somtCaseEntry*   SOMLINK somTP_SOMTUnionEntryC_somtGetNextCaseEntry(SOMTUnionEntryC *somSelf);
  287. typedef somTP_SOMTUnionEntryC_somtGetNextCaseEntry *somTD_SOMTUnionEntryC_somtGetNextCaseEntry;
  288. #define somMD_SOMTUnionEntryC_somtGetNextCaseEntry "::SOMTUnionEntryC::somtGetNextCaseEntry"
  289. #define SOMTUnionEntryC_somtGetNextCaseEntry(somSelf) \
  290.     (SOM_Resolve(somSelf, SOMTUnionEntryC, somtGetNextCaseEntry) \
  291.     (somSelf))
  292. #ifndef SOMGD_somtGetNextCaseEntry
  293.     #if (defined(_somtGetNextCaseEntry) || defined(__somtGetNextCaseEntry))
  294.         #undef _somtGetNextCaseEntry
  295.         #undef __somtGetNextCaseEntry
  296.         #define SOMGD_somtGetNextCaseEntry 1
  297.     #else
  298.         #define _somtGetNextCaseEntry SOMTUnionEntryC_somtGetNextCaseEntry
  299.     #endif /* _somtGetNextCaseEntry */
  300. #endif /* SOMGD_somtGetNextCaseEntry */
  301. #ifndef SOM_DONT_USE_INHERITED_MACROS
  302. #define SOMTUnionEntryC__get_somtEntryName SOMTEntryC__get_somtEntryName
  303. #define SOMTUnionEntryC__set_somtEntryName SOMTEntryC__set_somtEntryName
  304. #define SOMTUnionEntryC__get_somtElementType SOMTEntryC__get_somtElementType
  305. #define SOMTUnionEntryC__set_somtElementType SOMTEntryC__set_somtElementType
  306. #define SOMTUnionEntryC__get_somtElementTypeName SOMTEntryC__get_somtElementTypeName
  307. #define SOMTUnionEntryC__get_somtEntryComment SOMTEntryC__get_somtEntryComment
  308. #define SOMTUnionEntryC__get_somtSourceLineNumber SOMTEntryC__get_somtSourceLineNumber
  309. #define SOMTUnionEntryC__get_somtTypeCode SOMTEntryC__get_somtTypeCode
  310. #define SOMTUnionEntryC__get_somtIsReference SOMTEntryC__get_somtIsReference
  311. #define SOMTUnionEntryC__get_somtIDLScopedName SOMTEntryC__get_somtIDLScopedName
  312. #define SOMTUnionEntryC__get_somtCScopedName SOMTEntryC__get_somtCScopedName
  313. #define SOMTUnionEntryC_somtGetModifierValue SOMTEntryC_somtGetModifierValue
  314. #define SOMTUnionEntryC_somtGetFirstModifier SOMTEntryC_somtGetFirstModifier
  315. #define SOMTUnionEntryC_somtGetNextModifier SOMTEntryC_somtGetNextModifier
  316. #define SOMTUnionEntryC_somtFormatModifier SOMTEntryC_somtFormatModifier
  317. #define SOMTUnionEntryC_somtGetModifierList SOMTEntryC_somtGetModifierList
  318. #define SOMTUnionEntryC_somtSetEntryStruct SOMTEntryC_somtSetEntryStruct
  319. #define SOMTUnionEntryC_somDefaultInit SOMObject_somDefaultInit
  320. #define SOMTUnionEntryC_somDestruct SOMObject_somDestruct
  321. #define SOMTUnionEntryC_somDefaultCopyInit SOMObject_somDefaultCopyInit
  322. #define SOMTUnionEntryC_somDefaultAssign SOMObject_somDefaultAssign
  323. #define SOMTUnionEntryC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  324. #define SOMTUnionEntryC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  325. #define SOMTUnionEntryC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  326. #define SOMTUnionEntryC_somDefaultConstAssign SOMObject_somDefaultConstAssign
  327. #define SOMTUnionEntryC_somDefaultVAssign SOMObject_somDefaultVAssign
  328. #define SOMTUnionEntryC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  329. #define SOMTUnionEntryC_somInit SOMObject_somInit
  330. #define SOMTUnionEntryC_somFree SOMObject_somFree
  331. #define SOMTUnionEntryC_somUninit SOMObject_somUninit
  332. #define SOMTUnionEntryC_somGetClass SOMObject_somGetClass
  333. #define SOMTUnionEntryC_somGetClassName SOMObject_somGetClassName
  334. #define SOMTUnionEntryC_somGetSize SOMObject_somGetSize
  335. #define SOMTUnionEntryC_somIsA SOMObject_somIsA
  336. #define SOMTUnionEntryC_somIsInstanceOf SOMObject_somIsInstanceOf
  337. #define SOMTUnionEntryC_somRespondsTo SOMObject_somRespondsTo
  338. #define SOMTUnionEntryC_somDispatch SOMObject_somDispatch
  339. #define SOMTUnionEntryC_somClassDispatch SOMObject_somClassDispatch
  340. #define SOMTUnionEntryC_somCastObj SOMObject_somCastObj
  341. #define SOMTUnionEntryC_somResetObj SOMObject_somResetObj
  342. #define SOMTUnionEntryC_somPrintSelf SOMObject_somPrintSelf
  343. #define SOMTUnionEntryC_somDumpSelf SOMObject_somDumpSelf
  344. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  345.  
  346. #endif       /* SOM_SOMTUnionEntryC_h */
  347.