home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / scunion.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  13KB  |  362 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: scunion.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 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_SOMTUnionEntryC_h
  27. #define SOM_SOMTUnionEntryC_h
  28.  
  29.  
  30. #include <som.h>
  31.  
  32. /*
  33.  * -- This emitter treats Method Tokens as Thunks by default.
  34.  * -- Use the sc modifier "nothunks" to change this default
  35.  */
  36. #undef somresolve_
  37. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  38.  
  39. /*
  40.  * Define the class name as an object type
  41.  */
  42. #ifndef SOMTUnionEntryC
  43. #define SOMTUnionEntryC SOMObject
  44. #endif
  45. #include <scentry.h>
  46.  
  47. /*
  48.  * Start of bindings for IDL types
  49.  */
  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.  *  Linked list of case labels.
  124.  */
  125.  
  126. typedef
  127. struct SOMTUnionEntryC_somtCaseEntry {
  128. struct SOMTUnionEntryC_somtLabelList* caseLabels;
  129. /*
  130.  *  The labels for this case.
  131.  */
  132.  
  133. SOMTEntryC* memberType;
  134. /*
  135.  *  The type of the member.
  136.  */
  137.  
  138. SOMTDataEntryC* memberDeclarator;
  139. /*
  140.  *  The declarator for the member.
  141.  */
  142.  
  143. } SOMTUnionEntryC_somtCaseEntry;
  144. /*
  145.  *  A case for the union.
  146.  */
  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 bindings for IDL 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. #pragma linkage(c, system)
  181. #define SOMTUnionEntryCClassData d
  182. #define SOMTUnionEntryCCClassData x
  183. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  184. /*--------------Migration------------*/
  185. #define SOMTUnionEntryC_classObj SOMTUnionEntryCClassData.classObject
  186. #define _SOMTUnionEntryC SOMTUnionEntryC_classObj
  187.  
  188. /*
  189.  * Declare the class creation procedure
  190.  */
  191. SOMEXTERN SOMClass * SOMLINK SOMTUnionEntryCNewClass(integer4 somtmajorVersion,
  192.         integer4 somtminorVersion);
  193. #pragma linkage(SOMTUnionEntryCNewClass, system)
  194.  
  195. /*
  196.  * Declare the class data structure
  197.  */
  198. SOMEXTERN struct SOMTUnionEntryCClassDataStructure {
  199.     SOMClass *classObject;
  200.     somMToken _get_somtSwitchType;
  201.     somMToken somtGetFirstCaseEntry;
  202.     somMToken somtGetNextCaseEntry;
  203. } SOMDLINK SOMTUnionEntryCClassData;
  204.  
  205. /*
  206.  * Declare the C specific class data structure
  207.  */
  208. SOMEXTERN struct SOMTUnionEntryCCClassDataStructure {
  209.     somMethodTabs parentMtab;
  210.     somDToken instanceDataToken;
  211. } SOMDLINK SOMTUnionEntryCCClassData;
  212.  
  213. /*
  214.  * New and Renew macros for SOMTUnionEntryC
  215.  */
  216. #define SOMTUnionEntryCNew() \
  217.    ( _SOMTUnionEntryC ? \
  218.     _somNew(_SOMTUnionEntryC) \
  219.     : ( SOMTUnionEntryCNewClass(\
  220.         SOMTUnionEntryC_MajorVersion, \
  221.         SOMTUnionEntryC_MinorVersion),\
  222.        _somNew(_SOMTUnionEntryC)))
  223. #define SOMTUnionEntryCRenew(buf) \
  224.    ( _SOMTUnionEntryC ? \
  225.     _somRenew(_SOMTUnionEntryC, buf) \
  226.     : ( SOMTUnionEntryCNewClass(\
  227.         SOMTUnionEntryC_MajorVersion, \
  228.         SOMTUnionEntryC_MinorVersion),\
  229.        _somRenew(_SOMTUnionEntryC, buf)))
  230.  
  231. /*
  232.  * Override method: somDumpSelfInt
  233.  */
  234. #define SOMTUnionEntryC_somDumpSelfInt(somSelf,level) \
  235.     SOMObject_somDumpSelfInt(somSelf,level)
  236.  
  237. /*
  238.  * Override method: somtSetSymbolsOnEntry
  239.  */
  240. #define SOMTUnionEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix) \
  241.     SOMTEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix)
  242.  
  243. /*
  244.  * New Method: _get_somtSwitchType
  245.  */
  246. typedef SOMTEntryC*   SOMLINK somTP_SOMTUnionEntryC__get_somtSwitchType(SOMTUnionEntryC *somSelf);
  247. #pragma linkage(somTP_SOMTUnionEntryC__get_somtSwitchType, system)
  248. typedef somTP_SOMTUnionEntryC__get_somtSwitchType *somTD_SOMTUnionEntryC__get_somtSwitchType;
  249. /*
  250.  *  The switch type of the union.
  251.  */
  252. #define somMD_SOMTUnionEntryC__get_somtSwitchType "::SOMTUnionEntryC::_get_somtSwitchType"
  253. #define SOMTUnionEntryC__get_somtSwitchType(somSelf) \
  254.     (SOM_Resolve(somSelf, SOMTUnionEntryC, _get_somtSwitchType) \
  255.     (somSelf))
  256. #ifndef SOMGD_get_somtSwitchType
  257.     #if (defined(_get_somtSwitchType) || defined(__get_somtSwitchType))
  258.         #undef _get_somtSwitchType
  259.         #undef __get_somtSwitchType
  260.         #define SOMGD_get_somtSwitchType 1
  261.     #else
  262.         #define __get_somtSwitchType SOMTUnionEntryC__get_somtSwitchType
  263.     #endif /* __get_somtSwitchType */
  264. #endif /* SOMGD_get_somtSwitchType */
  265.  
  266. /*
  267.  * New Method: somtGetFirstCaseEntry
  268.  */
  269. typedef SOMTUnionEntryC_somtCaseEntry*   SOMLINK somTP_SOMTUnionEntryC_somtGetFirstCaseEntry(SOMTUnionEntryC *somSelf);
  270. #pragma linkage(somTP_SOMTUnionEntryC_somtGetFirstCaseEntry, system)
  271. typedef somTP_SOMTUnionEntryC_somtGetFirstCaseEntry *somTD_SOMTUnionEntryC_somtGetFirstCaseEntry;
  272. /*
  273.  *  The first case for the union.
  274.  */
  275. #define somMD_SOMTUnionEntryC_somtGetFirstCaseEntry "::SOMTUnionEntryC::somtGetFirstCaseEntry"
  276. #define SOMTUnionEntryC_somtGetFirstCaseEntry(somSelf) \
  277.     (SOM_Resolve(somSelf, SOMTUnionEntryC, somtGetFirstCaseEntry) \
  278.     (somSelf))
  279. #ifndef SOMGD_somtGetFirstCaseEntry
  280.     #if (defined(_somtGetFirstCaseEntry) || defined(__somtGetFirstCaseEntry))
  281.         #undef _somtGetFirstCaseEntry
  282.         #undef __somtGetFirstCaseEntry
  283.         #define SOMGD_somtGetFirstCaseEntry 1
  284.     #else
  285.         #define _somtGetFirstCaseEntry SOMTUnionEntryC_somtGetFirstCaseEntry
  286.     #endif /* _somtGetFirstCaseEntry */
  287. #endif /* SOMGD_somtGetFirstCaseEntry */
  288.  
  289. /*
  290.  * New Method: somtGetNextCaseEntry
  291.  */
  292. typedef SOMTUnionEntryC_somtCaseEntry*   SOMLINK somTP_SOMTUnionEntryC_somtGetNextCaseEntry(SOMTUnionEntryC *somSelf);
  293. #pragma linkage(somTP_SOMTUnionEntryC_somtGetNextCaseEntry, system)
  294. typedef somTP_SOMTUnionEntryC_somtGetNextCaseEntry *somTD_SOMTUnionEntryC_somtGetNextCaseEntry;
  295. /*
  296.  *  The next case for the union, relative to the previous
  297.  *  call to this method or to somtGetFirstCaseEntry.
  298.  */
  299. #define somMD_SOMTUnionEntryC_somtGetNextCaseEntry "::SOMTUnionEntryC::somtGetNextCaseEntry"
  300. #define SOMTUnionEntryC_somtGetNextCaseEntry(somSelf) \
  301.     (SOM_Resolve(somSelf, SOMTUnionEntryC, somtGetNextCaseEntry) \
  302.     (somSelf))
  303. #ifndef SOMGD_somtGetNextCaseEntry
  304.     #if (defined(_somtGetNextCaseEntry) || defined(__somtGetNextCaseEntry))
  305.         #undef _somtGetNextCaseEntry
  306.         #undef __somtGetNextCaseEntry
  307.         #define SOMGD_somtGetNextCaseEntry 1
  308.     #else
  309.         #define _somtGetNextCaseEntry SOMTUnionEntryC_somtGetNextCaseEntry
  310.     #endif /* _somtGetNextCaseEntry */
  311. #endif /* SOMGD_somtGetNextCaseEntry */
  312. #ifndef SOM_DONT_USE_INHERITED_MACROS
  313. #define SOMTUnionEntryC__get_somtEntryName SOMTEntryC__get_somtEntryName
  314. #define SOMTUnionEntryC__set_somtEntryName SOMTEntryC__set_somtEntryName
  315. #define SOMTUnionEntryC__get_somtElementType SOMTEntryC__get_somtElementType
  316. #define SOMTUnionEntryC__set_somtElementType SOMTEntryC__set_somtElementType
  317. #define SOMTUnionEntryC__get_somtElementTypeName SOMTEntryC__get_somtElementTypeName
  318. #define SOMTUnionEntryC__get_somtEntryComment SOMTEntryC__get_somtEntryComment
  319. #define SOMTUnionEntryC__get_somtSourceLineNumber SOMTEntryC__get_somtSourceLineNumber
  320. #define SOMTUnionEntryC__get_somtTypeCode SOMTEntryC__get_somtTypeCode
  321. #define SOMTUnionEntryC__get_somtIsReference SOMTEntryC__get_somtIsReference
  322. #define SOMTUnionEntryC__get_somtIDLScopedName SOMTEntryC__get_somtIDLScopedName
  323. #define SOMTUnionEntryC__get_somtCScopedName SOMTEntryC__get_somtCScopedName
  324. #define SOMTUnionEntryC_somtGetModifierValue SOMTEntryC_somtGetModifierValue
  325. #define SOMTUnionEntryC_somtGetFirstModifier SOMTEntryC_somtGetFirstModifier
  326. #define SOMTUnionEntryC_somtGetNextModifier SOMTEntryC_somtGetNextModifier
  327. #define SOMTUnionEntryC_somtFormatModifier SOMTEntryC_somtFormatModifier
  328. #define SOMTUnionEntryC_somtGetModifierList SOMTEntryC_somtGetModifierList
  329. #define SOMTUnionEntryC_somtSetEntryStruct SOMTEntryC_somtSetEntryStruct
  330. #define SOMTUnionEntryC_somInit SOMObject_somInit
  331. #define SOMTUnionEntryC_somUninit SOMObject_somUninit
  332. #define SOMTUnionEntryC_somPrintSelf SOMObject_somPrintSelf
  333. #define SOMTUnionEntryC_somDumpSelf SOMObject_somDumpSelf
  334. #define SOMTUnionEntryC_somDefaultInit SOMObject_somDefaultInit
  335. #define SOMTUnionEntryC_somDestruct SOMObject_somDestruct
  336. #define SOMTUnionEntryC_somDefaultCopyInit SOMObject_somDefaultCopyInit
  337. #define SOMTUnionEntryC_somDefaultAssign SOMObject_somDefaultAssign
  338. #define SOMTUnionEntryC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  339. #define SOMTUnionEntryC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  340. #define SOMTUnionEntryC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  341. #define SOMTUnionEntryC_somDefaultConstAssign SOMObject_somDefaultConstAssign
  342. #define SOMTUnionEntryC_somDefaultVAssign SOMObject_somDefaultVAssign
  343. #define SOMTUnionEntryC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  344. #define SOMTUnionEntryC_somFree SOMObject_somFree
  345. #define SOMTUnionEntryC_somGetClass SOMObject_somGetClass
  346. #define SOMTUnionEntryC_somGetClassName SOMObject_somGetClassName
  347. #define SOMTUnionEntryC_somGetSize SOMObject_somGetSize
  348. #define SOMTUnionEntryC_somIsA SOMObject_somIsA
  349. #define SOMTUnionEntryC_somIsInstanceOf SOMObject_somIsInstanceOf
  350. #define SOMTUnionEntryC_somRespondsTo SOMObject_somRespondsTo
  351. #define SOMTUnionEntryC_somDispatch SOMObject_somDispatch
  352. #define SOMTUnionEntryC_somClassDispatch SOMObject_somClassDispatch
  353. #define SOMTUnionEntryC_somCastObj SOMObject_somCastObj
  354. #define SOMTUnionEntryC_somResetObj SOMObject_somResetObj
  355. #define SOMTUnionEntryC_somDispatchV SOMObject_somDispatchV
  356. #define SOMTUnionEntryC_somDispatchL SOMObject_somDispatchL
  357. #define SOMTUnionEntryC_somDispatchA SOMObject_somDispatchA
  358. #define SOMTUnionEntryC_somDispatchD SOMObject_somDispatchD
  359. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  360.  
  361. #endif       /* SOM_SOMTUnionEntryC_h */
  362.