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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: scentry.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_SOMTEntryC_h
  27. #define SOM_SOMTEntryC_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 SOMTEntryC
  43. #define SOMTEntryC SOMObject
  44. #endif
  45. /*
  46.  *  A SOM class interface definition is compiled to produce a graph
  47.  *  structure whose nodes are instances of <SOMTEntry> or its
  48.  *  sub-classes.  Each entry is derived from some syntactic element of
  49.  *  the definition source. The attributes defined in <SOMTEntryC>
  50.  *  refer to this syntactic element in a fairly obvious way.
  51.  * 
  52.  */
  53. #include <somobj.h>
  54.  
  55. /*
  56.  * Start of bindings for IDL types
  57.  */
  58.  
  59. #ifndef SOMClass
  60.     #define SOMClass SOMObject
  61. #endif /* SOMClass */
  62. #ifndef SOMTEntryC
  63.     #define SOMTEntryC SOMObject
  64. #endif /* SOMTEntryC */
  65. #ifndef SOMTEmitC
  66.     #define SOMTEmitC SOMObject
  67. #endif /* SOMTEmitC */
  68. #ifndef SOMTMetaClassEntryC
  69.     #define SOMTMetaClassEntryC SOMObject
  70. #endif /* SOMTMetaClassEntryC */
  71. #ifndef SOMTAttributeEntryC
  72.     #define SOMTAttributeEntryC SOMObject
  73. #endif /* SOMTAttributeEntryC */
  74. #ifndef SOMTTypedefEntryC
  75.     #define SOMTTypedefEntryC SOMObject
  76. #endif /* SOMTTypedefEntryC */
  77. #ifndef SOMTBaseClassEntryC
  78.     #define SOMTBaseClassEntryC SOMObject
  79. #endif /* SOMTBaseClassEntryC */
  80. #ifndef SOMTPassthruEntryC
  81.     #define SOMTPassthruEntryC SOMObject
  82. #endif /* SOMTPassthruEntryC */
  83. #ifndef SOMTDataEntryC
  84.     #define SOMTDataEntryC SOMObject
  85. #endif /* SOMTDataEntryC */
  86. #ifndef SOMTMethodEntryC
  87.     #define SOMTMethodEntryC SOMObject
  88. #endif /* SOMTMethodEntryC */
  89. #ifndef SOMTClassEntryC
  90.     #define SOMTClassEntryC SOMObject
  91. #endif /* SOMTClassEntryC */
  92. #ifndef SOMTModuleEntryC
  93.     #define SOMTModuleEntryC SOMObject
  94. #endif /* SOMTModuleEntryC */
  95. #ifndef SOMTParameterEntryC
  96.     #define SOMTParameterEntryC SOMObject
  97. #endif /* SOMTParameterEntryC */
  98. #ifndef SOMTStructEntryC
  99.     #define SOMTStructEntryC SOMObject
  100. #endif /* SOMTStructEntryC */
  101. #ifndef SOMTUnionEntryC
  102.     #define SOMTUnionEntryC SOMObject
  103. #endif /* SOMTUnionEntryC */
  104. #ifndef SOMTEnumEntryC
  105.     #define SOMTEnumEntryC SOMObject
  106. #endif /* SOMTEnumEntryC */
  107. #ifndef SOMTConstEntryC
  108.     #define SOMTConstEntryC SOMObject
  109. #endif /* SOMTConstEntryC */
  110. #ifndef SOMTSequenceEntryC
  111.     #define SOMTSequenceEntryC SOMObject
  112. #endif /* SOMTSequenceEntryC */
  113. #ifndef SOMTStringEntryC
  114.     #define SOMTStringEntryC SOMObject
  115. #endif /* SOMTStringEntryC */
  116. #ifndef SOMTEnumNameEntryC
  117.     #define SOMTEnumNameEntryC SOMObject
  118. #endif /* SOMTEnumNameEntryC */
  119. #ifndef SOMTCommonEntryC
  120.     #define SOMTCommonEntryC SOMObject
  121. #endif /* SOMTCommonEntryC */
  122. #ifndef SOMTUserDefinedTypeEntryC
  123.     #define SOMTUserDefinedTypeEntryC SOMObject
  124. #endif /* SOMTUserDefinedTypeEntryC */
  125.  
  126. /*
  127.  * End of bindings for IDL types.
  128.  */
  129.  
  130. /*
  131.  * Passthru lines: File: "C.h", "after"
  132.  */
  133. #include <sctypes.h>
  134. #include <scemit.h>
  135. #include <sctmplt.h>
  136.  
  137. #define SOMTEntryC_MajorVersion 2
  138. #define SOMTEntryC_MinorVersion 1
  139.  
  140. /*
  141.  * External name shortening if required
  142.  */
  143. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  144. #define SOMTEntryCNewClass c
  145. #pragma linkage(c, system)
  146. #define SOMTEntryCClassData d
  147. #define SOMTEntryCCClassData x
  148. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  149. /*--------------Migration------------*/
  150. #define SOMTEntryC_classObj SOMTEntryCClassData.classObject
  151. #define _SOMTEntryC SOMTEntryC_classObj
  152.  
  153. /*
  154.  * Declare the class creation procedure
  155.  */
  156. SOMEXTERN SOMClass * SOMLINK SOMTEntryCNewClass(integer4 somtmajorVersion,
  157.         integer4 somtminorVersion);
  158. #pragma linkage(SOMTEntryCNewClass, system)
  159.  
  160. /*
  161.  * Declare the class data structure
  162.  */
  163. SOMEXTERN struct SOMTEntryCClassDataStructure {
  164.     SOMClass *classObject;
  165.     somMToken _get_somtEntryName;
  166.     somMToken _set_somtEntryName;
  167.     somMToken _get_somtElementType;
  168.     somMToken _set_somtElementType;
  169.     somMToken _get_somtEntryComment;
  170.     somMToken _get_somtSourceLineNumber;
  171.     somMToken _get_somtTypeCode;
  172.     somMToken _get_somtIsReference;
  173.     somMToken somtGetModifierValue;
  174.     somMToken somtGetFirstModifier;
  175.     somMToken somtGetNextModifier;
  176.     somMToken somtFormatModifier;
  177.     somMToken somtGetModifierList;
  178.     somMToken somtSetSymbolsOnEntry;
  179.     somMToken somtSetEntryStruct;
  180.     somMToken _get_somtEntryStruct;
  181.     somMToken somtShowAssocEntry;
  182.     somMToken _get_somtCScopedName;
  183.     somMToken _get_somtIDLScopedName;
  184.     somMToken _get_somtElementTypeName;
  185. } SOMDLINK SOMTEntryCClassData;
  186.  
  187. /*
  188.  * Declare the C specific class data structure
  189.  */
  190. SOMEXTERN struct SOMTEntryCCClassDataStructure {
  191.     somMethodTabs parentMtab;
  192.     somDToken instanceDataToken;
  193. } SOMDLINK SOMTEntryCCClassData;
  194.  
  195. /*
  196.  * New and Renew macros for SOMTEntryC
  197.  */
  198. #define SOMTEntryCNew() \
  199.    ( _SOMTEntryC ? \
  200.     _somNew(_SOMTEntryC) \
  201.     : ( SOMTEntryCNewClass(\
  202.         SOMTEntryC_MajorVersion, \
  203.         SOMTEntryC_MinorVersion),\
  204.        _somNew(_SOMTEntryC)))
  205. #define SOMTEntryCRenew(buf) \
  206.    ( _SOMTEntryC ? \
  207.     _somRenew(_SOMTEntryC, buf) \
  208.     : ( SOMTEntryCNewClass(\
  209.         SOMTEntryC_MajorVersion, \
  210.         SOMTEntryC_MinorVersion),\
  211.        _somRenew(_SOMTEntryC, buf)))
  212.  
  213. /*
  214.  * Override method: somInit
  215.  */
  216. #define SOMTEntryC_somInit(somSelf) \
  217.     SOMObject_somInit(somSelf)
  218.  
  219. /*
  220.  * Override method: somUninit
  221.  */
  222. #define SOMTEntryC_somUninit(somSelf) \
  223.     SOMObject_somUninit(somSelf)
  224.  
  225. /*
  226.  * Override method: somPrintSelf
  227.  */
  228. #define SOMTEntryC_somPrintSelf(somSelf) \
  229.     SOMObject_somPrintSelf(somSelf)
  230.  
  231. /*
  232.  * Override method: somDumpSelfInt
  233.  */
  234. #define SOMTEntryC_somDumpSelfInt(somSelf,level) \
  235.     SOMObject_somDumpSelfInt(somSelf,level)
  236.  
  237. /*
  238.  * Override method: somDumpSelf
  239.  */
  240. #define SOMTEntryC_somDumpSelf(somSelf,level) \
  241.     SOMObject_somDumpSelf(somSelf,level)
  242.  
  243. /*
  244.  * New Method: _get_somtEntryName
  245.  */
  246. typedef string   SOMLINK somTP_SOMTEntryC__get_somtEntryName(SOMTEntryC *somSelf);
  247. #pragma linkage(somTP_SOMTEntryC__get_somtEntryName, system)
  248. typedef somTP_SOMTEntryC__get_somtEntryName *somTD_SOMTEntryC__get_somtEntryName;
  249. /*
  250.  *  The name associated with this entry.  Eg, the name of
  251.  *  the data item, the class, the method, the type, etc.
  252.  */
  253. #define somMD_SOMTEntryC__get_somtEntryName "::SOMTEntryC::_get_somtEntryName"
  254. #define SOMTEntryC__get_somtEntryName(somSelf) \
  255.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtEntryName) \
  256.     (somSelf))
  257. #ifndef SOMGD_get_somtEntryName
  258.     #if (defined(_get_somtEntryName) || defined(__get_somtEntryName))
  259.         #undef _get_somtEntryName
  260.         #undef __get_somtEntryName
  261.         #define SOMGD_get_somtEntryName 1
  262.     #else
  263.         #define __get_somtEntryName SOMTEntryC__get_somtEntryName
  264.     #endif /* __get_somtEntryName */
  265. #endif /* SOMGD_get_somtEntryName */
  266.  
  267. /*
  268.  * New Method: _set_somtEntryName
  269.  */
  270. typedef void   SOMLINK somTP_SOMTEntryC__set_somtEntryName(SOMTEntryC *somSelf, 
  271.         string somtEntryName);
  272. #pragma linkage(somTP_SOMTEntryC__set_somtEntryName, system)
  273. typedef somTP_SOMTEntryC__set_somtEntryName *somTD_SOMTEntryC__set_somtEntryName;
  274. /*
  275.  *  The name associated with this entry.  Eg, the name of
  276.  *  the data item, the class, the method, the type, etc.
  277.  */
  278. #define somMD_SOMTEntryC__set_somtEntryName "::SOMTEntryC::_set_somtEntryName"
  279. #define SOMTEntryC__set_somtEntryName(somSelf,somtEntryName) \
  280.     (SOM_Resolve(somSelf, SOMTEntryC, _set_somtEntryName) \
  281.     (somSelf,somtEntryName))
  282. #ifndef SOMGD_set_somtEntryName
  283.     #if (defined(_set_somtEntryName) || defined(__set_somtEntryName))
  284.         #undef _set_somtEntryName
  285.         #undef __set_somtEntryName
  286.         #define SOMGD_set_somtEntryName 1
  287.     #else
  288.         #define __set_somtEntryName SOMTEntryC__set_somtEntryName
  289.     #endif /* __set_somtEntryName */
  290. #endif /* SOMGD_set_somtEntryName */
  291.  
  292. /*
  293.  * New Method: _get_somtElementType
  294.  */
  295. typedef SOMTTypes   SOMLINK somTP_SOMTEntryC__get_somtElementType(SOMTEntryC *somSelf);
  296. #pragma linkage(somTP_SOMTEntryC__get_somtElementType, system)
  297. typedef somTP_SOMTEntryC__get_somtElementType *somTD_SOMTEntryC__get_somtElementType;
  298. /*
  299.  *  Returns the type of this entry.
  300.  *  This is not datatype, but entry type (method, class,
  301.  *  passthru, etc.). The value is defined by SOMTTypes.
  302.  */
  303. #define somMD_SOMTEntryC__get_somtElementType "::SOMTEntryC::_get_somtElementType"
  304. #define SOMTEntryC__get_somtElementType(somSelf) \
  305.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtElementType) \
  306.     (somSelf))
  307. #ifndef SOMGD_get_somtElementType
  308.     #if (defined(_get_somtElementType) || defined(__get_somtElementType))
  309.         #undef _get_somtElementType
  310.         #undef __get_somtElementType
  311.         #define SOMGD_get_somtElementType 1
  312.     #else
  313.         #define __get_somtElementType SOMTEntryC__get_somtElementType
  314.     #endif /* __get_somtElementType */
  315. #endif /* SOMGD_get_somtElementType */
  316.  
  317. /*
  318.  * New Method: _set_somtElementType
  319.  */
  320. typedef void   SOMLINK somTP_SOMTEntryC__set_somtElementType(SOMTEntryC *somSelf, 
  321.         SOMTTypes somtElementType);
  322. #pragma linkage(somTP_SOMTEntryC__set_somtElementType, system)
  323. typedef somTP_SOMTEntryC__set_somtElementType *somTD_SOMTEntryC__set_somtElementType;
  324. /*
  325.  *  Returns the type of this entry.
  326.  *  This is not datatype, but entry type (method, class,
  327.  *  passthru, etc.). The value is defined by SOMTTypes.
  328.  */
  329. #define somMD_SOMTEntryC__set_somtElementType "::SOMTEntryC::_set_somtElementType"
  330. #define SOMTEntryC__set_somtElementType(somSelf,somtElementType) \
  331.     (SOM_Resolve(somSelf, SOMTEntryC, _set_somtElementType) \
  332.     (somSelf,somtElementType))
  333. #ifndef SOMGD_set_somtElementType
  334.     #if (defined(_set_somtElementType) || defined(__set_somtElementType))
  335.         #undef _set_somtElementType
  336.         #undef __set_somtElementType
  337.         #define SOMGD_set_somtElementType 1
  338.     #else
  339.         #define __set_somtElementType SOMTEntryC__set_somtElementType
  340.     #endif /* __set_somtElementType */
  341. #endif /* SOMGD_set_somtElementType */
  342.  
  343. /*
  344.  * New Method: _get_somtElementTypeName
  345.  */
  346. typedef string   SOMLINK somTP_SOMTEntryC__get_somtElementTypeName(SOMTEntryC *somSelf);
  347. #pragma linkage(somTP_SOMTEntryC__get_somtElementTypeName, system)
  348. typedef somTP_SOMTEntryC__get_somtElementTypeName *somTD_SOMTEntryC__get_somtElementTypeName;
  349. /*
  350.  *  String version of somtElementType.
  351.  */
  352. #define somMD_SOMTEntryC__get_somtElementTypeName "::SOMTEntryC::_get_somtElementTypeName"
  353. #define SOMTEntryC__get_somtElementTypeName(somSelf) \
  354.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtElementTypeName) \
  355.     (somSelf))
  356. #ifndef SOMGD_get_somtElementTypeName
  357.     #if (defined(_get_somtElementTypeName) || defined(__get_somtElementTypeName))
  358.         #undef _get_somtElementTypeName
  359.         #undef __get_somtElementTypeName
  360.         #define SOMGD_get_somtElementTypeName 1
  361.     #else
  362.         #define __get_somtElementTypeName SOMTEntryC__get_somtElementTypeName
  363.     #endif /* __get_somtElementTypeName */
  364. #endif /* SOMGD_get_somtElementTypeName */
  365.  
  366. /*
  367.  * New Method: _get_somtEntryComment
  368.  */
  369. typedef string   SOMLINK somTP_SOMTEntryC__get_somtEntryComment(SOMTEntryC *somSelf);
  370. #pragma linkage(somTP_SOMTEntryC__get_somtEntryComment, system)
  371. typedef somTP_SOMTEntryC__get_somtEntryComment *somTD_SOMTEntryC__get_somtEntryComment;
  372. /*
  373.  *  Returns the comment associated with this entry, or NULL is this
  374.  *  entry has no associated comment.  Comments will have comment
  375.  *  delimitors removed, but will retain newline characters as
  376.  *  specified in the source file. (use smLookupComment)
  377.  */
  378. #define somMD_SOMTEntryC__get_somtEntryComment "::SOMTEntryC::_get_somtEntryComment"
  379. #define SOMTEntryC__get_somtEntryComment(somSelf) \
  380.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtEntryComment) \
  381.     (somSelf))
  382. #ifndef SOMGD_get_somtEntryComment
  383.     #if (defined(_get_somtEntryComment) || defined(__get_somtEntryComment))
  384.         #undef _get_somtEntryComment
  385.         #undef __get_somtEntryComment
  386.         #define SOMGD_get_somtEntryComment 1
  387.     #else
  388.         #define __get_somtEntryComment SOMTEntryC__get_somtEntryComment
  389.     #endif /* __get_somtEntryComment */
  390. #endif /* SOMGD_get_somtEntryComment */
  391.  
  392. /*
  393.  * New Method: _get_somtSourceLineNumber
  394.  */
  395. typedef unsigned long   SOMLINK somTP_SOMTEntryC__get_somtSourceLineNumber(SOMTEntryC *somSelf);
  396. #pragma linkage(somTP_SOMTEntryC__get_somtSourceLineNumber, system)
  397. typedef somTP_SOMTEntryC__get_somtSourceLineNumber *somTD_SOMTEntryC__get_somtSourceLineNumber;
  398. /*
  399.  *  Returns the line number in the source file where this entry's
  400.  *  syntactic form ended.
  401.  */
  402. #define somMD_SOMTEntryC__get_somtSourceLineNumber "::SOMTEntryC::_get_somtSourceLineNumber"
  403. #define SOMTEntryC__get_somtSourceLineNumber(somSelf) \
  404.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtSourceLineNumber) \
  405.     (somSelf))
  406. #ifndef SOMGD_get_somtSourceLineNumber
  407.     #if (defined(_get_somtSourceLineNumber) || defined(__get_somtSourceLineNumber))
  408.         #undef _get_somtSourceLineNumber
  409.         #undef __get_somtSourceLineNumber
  410.         #define SOMGD_get_somtSourceLineNumber 1
  411.     #else
  412.         #define __get_somtSourceLineNumber SOMTEntryC__get_somtSourceLineNumber
  413.     #endif /* __get_somtSourceLineNumber */
  414. #endif /* SOMGD_get_somtSourceLineNumber */
  415.  
  416. /*
  417.  * New Method: _get_somtTypeCode
  418.  */
  419. typedef TypeCode   SOMLINK somTP_SOMTEntryC__get_somtTypeCode(SOMTEntryC *somSelf);
  420. #pragma linkage(somTP_SOMTEntryC__get_somtTypeCode, system)
  421. typedef somTP_SOMTEntryC__get_somtTypeCode *somTD_SOMTEntryC__get_somtTypeCode;
  422. /*
  423.  *  The typecode, if appropriate, or NULL.
  424.  */
  425. #define somMD_SOMTEntryC__get_somtTypeCode "::SOMTEntryC::_get_somtTypeCode"
  426. #define SOMTEntryC__get_somtTypeCode(somSelf) \
  427.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtTypeCode) \
  428.     (somSelf))
  429. #ifndef SOMGD_get_somtTypeCode
  430.     #if (defined(_get_somtTypeCode) || defined(__get_somtTypeCode))
  431.         #undef _get_somtTypeCode
  432.         #undef __get_somtTypeCode
  433.         #define SOMGD_get_somtTypeCode 1
  434.     #else
  435.         #define __get_somtTypeCode SOMTEntryC__get_somtTypeCode
  436.     #endif /* __get_somtTypeCode */
  437. #endif /* SOMGD_get_somtTypeCode */
  438.  
  439. /*
  440.  * New Method: _get_somtIsReference
  441.  */
  442. typedef boolean   SOMLINK somTP_SOMTEntryC__get_somtIsReference(SOMTEntryC *somSelf);
  443. #pragma linkage(somTP_SOMTEntryC__get_somtIsReference, system)
  444. typedef somTP_SOMTEntryC__get_somtIsReference *somTD_SOMTEntryC__get_somtIsReference;
  445. /*
  446.  *  Whether the entry is just a reference to the real type (TRUE)
  447.  *  rather than a declaration of it (FALSE).
  448.  */
  449. #define somMD_SOMTEntryC__get_somtIsReference "::SOMTEntryC::_get_somtIsReference"
  450. #define SOMTEntryC__get_somtIsReference(somSelf) \
  451.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtIsReference) \
  452.     (somSelf))
  453. #ifndef SOMGD_get_somtIsReference
  454.     #if (defined(_get_somtIsReference) || defined(__get_somtIsReference))
  455.         #undef _get_somtIsReference
  456.         #undef __get_somtIsReference
  457.         #define SOMGD_get_somtIsReference 1
  458.     #else
  459.         #define __get_somtIsReference SOMTEntryC__get_somtIsReference
  460.     #endif /* __get_somtIsReference */
  461. #endif /* SOMGD_get_somtIsReference */
  462.  
  463. /*
  464.  * New Method: _get_somtIDLScopedName
  465.  */
  466. typedef string   SOMLINK somTP_SOMTEntryC__get_somtIDLScopedName(SOMTEntryC *somSelf);
  467. #pragma linkage(somTP_SOMTEntryC__get_somtIDLScopedName, system)
  468. typedef somTP_SOMTEntryC__get_somtIDLScopedName *somTD_SOMTEntryC__get_somtIDLScopedName;
  469. /*
  470.  *  The IDL scoped name of the entry (using double colon as delimiter).
  471.  */
  472. #define somMD_SOMTEntryC__get_somtIDLScopedName "::SOMTEntryC::_get_somtIDLScopedName"
  473. #define SOMTEntryC__get_somtIDLScopedName(somSelf) \
  474.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtIDLScopedName) \
  475.     (somSelf))
  476. #ifndef SOMGD_get_somtIDLScopedName
  477.     #if (defined(_get_somtIDLScopedName) || defined(__get_somtIDLScopedName))
  478.         #undef _get_somtIDLScopedName
  479.         #undef __get_somtIDLScopedName
  480.         #define SOMGD_get_somtIDLScopedName 1
  481.     #else
  482.         #define __get_somtIDLScopedName SOMTEntryC__get_somtIDLScopedName
  483.     #endif /* __get_somtIDLScopedName */
  484. #endif /* SOMGD_get_somtIDLScopedName */
  485.  
  486. /*
  487.  * New Method: _get_somtCScopedName
  488.  */
  489. typedef string   SOMLINK somTP_SOMTEntryC__get_somtCScopedName(SOMTEntryC *somSelf);
  490. #pragma linkage(somTP_SOMTEntryC__get_somtCScopedName, system)
  491. typedef somTP_SOMTEntryC__get_somtCScopedName *somTD_SOMTEntryC__get_somtCScopedName;
  492. /*
  493.  *  The C scoped name of the entry (using underscore as delimiter).
  494.  */
  495. #define somMD_SOMTEntryC__get_somtCScopedName "::SOMTEntryC::_get_somtCScopedName"
  496. #define SOMTEntryC__get_somtCScopedName(somSelf) \
  497.     (SOM_Resolve(somSelf, SOMTEntryC, _get_somtCScopedName) \
  498.     (somSelf))
  499. #ifndef SOMGD_get_somtCScopedName
  500.     #if (defined(_get_somtCScopedName) || defined(__get_somtCScopedName))
  501.         #undef _get_somtCScopedName
  502.         #undef __get_somtCScopedName
  503.         #define SOMGD_get_somtCScopedName 1
  504.     #else
  505.         #define __get_somtCScopedName SOMTEntryC__get_somtCScopedName
  506.     #endif /* __get_somtCScopedName */
  507. #endif /* SOMGD_get_somtCScopedName */
  508.  
  509. /*
  510.  * New Method: somtGetModifierValue
  511.  */
  512. typedef string   SOMLINK somTP_SOMTEntryC_somtGetModifierValue(SOMTEntryC *somSelf, 
  513.         string modifierName);
  514. #pragma linkage(somTP_SOMTEntryC_somtGetModifierValue, system)
  515. typedef somTP_SOMTEntryC_somtGetModifierValue *somTD_SOMTEntryC_somtGetModifierValue;
  516. /*
  517.  *  Returns the value of the named modifier if this entry has the
  518.  *  named modifier and NULL otherwise. Note: if the modifier is
  519.  *  present but does not have a value then a value of <'\1'> is
  520.  *  returned.
  521.  */
  522. #define somMD_SOMTEntryC_somtGetModifierValue "::SOMTEntryC::somtGetModifierValue"
  523. #define SOMTEntryC_somtGetModifierValue(somSelf,modifierName) \
  524.     (SOM_Resolve(somSelf, SOMTEntryC, somtGetModifierValue) \
  525.     (somSelf,modifierName))
  526. #ifndef SOMGD_somtGetModifierValue
  527.     #if (defined(_somtGetModifierValue) || defined(__somtGetModifierValue))
  528.         #undef _somtGetModifierValue
  529.         #undef __somtGetModifierValue
  530.         #define SOMGD_somtGetModifierValue 1
  531.     #else
  532.         #define _somtGetModifierValue SOMTEntryC_somtGetModifierValue
  533.     #endif /* _somtGetModifierValue */
  534. #endif /* SOMGD_somtGetModifierValue */
  535.  
  536. /*
  537.  * New Method: somtGetFirstModifier
  538.  */
  539. typedef boolean   SOMLINK somTP_SOMTEntryC_somtGetFirstModifier(SOMTEntryC *somSelf, 
  540.         string* modifierName, 
  541.         string* modifierValue);
  542. #pragma linkage(somTP_SOMTEntryC_somtGetFirstModifier, system)
  543. typedef somTP_SOMTEntryC_somtGetFirstModifier *somTD_SOMTEntryC_somtGetFirstModifier;
  544. /*
  545.  *  Returns the first modifier associated with this entry.  1 (true)
  546.  *  is returned if the entry has at least one modifier and 0 (false)
  547.  *  otherwise.
  548.  */
  549. #define somMD_SOMTEntryC_somtGetFirstModifier "::SOMTEntryC::somtGetFirstModifier"
  550. #define SOMTEntryC_somtGetFirstModifier(somSelf,modifierName,modifierValue) \
  551.     (SOM_Resolve(somSelf, SOMTEntryC, somtGetFirstModifier) \
  552.     (somSelf,modifierName,modifierValue))
  553. #ifndef SOMGD_somtGetFirstModifier
  554.     #if (defined(_somtGetFirstModifier) || defined(__somtGetFirstModifier))
  555.         #undef _somtGetFirstModifier
  556.         #undef __somtGetFirstModifier
  557.         #define SOMGD_somtGetFirstModifier 1
  558.     #else
  559.         #define _somtGetFirstModifier SOMTEntryC_somtGetFirstModifier
  560.     #endif /* _somtGetFirstModifier */
  561. #endif /* SOMGD_somtGetFirstModifier */
  562.  
  563. /*
  564.  * New Method: somtGetNextModifier
  565.  */
  566. typedef boolean   SOMLINK somTP_SOMTEntryC_somtGetNextModifier(SOMTEntryC *somSelf, 
  567.         string* modifierName, 
  568.         string* modifierValue);
  569. #pragma linkage(somTP_SOMTEntryC_somtGetNextModifier, system)
  570. typedef somTP_SOMTEntryC_somtGetNextModifier *somTD_SOMTEntryC_somtGetNextModifier;
  571. /*
  572.  *  Returns the next modifier (with respect to the last call to
  573.  *  <somtGetNextModifier> or <somtGetFirstModifier>)
  574.  *  associated with this entry.  1 (true) is returned if the entry
  575.  *  had another modifier and 0 (false) otherwise.
  576.  */
  577. #define somMD_SOMTEntryC_somtGetNextModifier "::SOMTEntryC::somtGetNextModifier"
  578. #define SOMTEntryC_somtGetNextModifier(somSelf,modifierName,modifierValue) \
  579.     (SOM_Resolve(somSelf, SOMTEntryC, somtGetNextModifier) \
  580.     (somSelf,modifierName,modifierValue))
  581. #ifndef SOMGD_somtGetNextModifier
  582.     #if (defined(_somtGetNextModifier) || defined(__somtGetNextModifier))
  583.         #undef _somtGetNextModifier
  584.         #undef __somtGetNextModifier
  585.         #define SOMGD_somtGetNextModifier 1
  586.     #else
  587.         #define _somtGetNextModifier SOMTEntryC_somtGetNextModifier
  588.     #endif /* _somtGetNextModifier */
  589. #endif /* SOMGD_somtGetNextModifier */
  590.  
  591. /*
  592.  * New Method: somtFormatModifier
  593.  */
  594. typedef long   SOMLINK somTP_SOMTEntryC_somtFormatModifier(SOMTEntryC *somSelf, 
  595.         string buffer, 
  596.         string name, 
  597.         string value);
  598. #pragma linkage(somTP_SOMTEntryC_somtFormatModifier, system)
  599. typedef somTP_SOMTEntryC_somtFormatModifier *somTD_SOMTEntryC_somtFormatModifier;
  600. /*
  601.  *  Formats the indicated name/value pair into buffer.  Buffer must
  602.  *  be big enough to hold all the formatted pair, no checks are made.
  603.  *  The number of characters added to buffer are returned (not
  604.  *  including the trailing null character).
  605.  *  Note: value may be null
  606.  *  You will probably never call this method, it is provided so that
  607.  *  you can override it to control the format returned in
  608.  *  <somtGetModifierList>.
  609.  */
  610. #define somMD_SOMTEntryC_somtFormatModifier "::SOMTEntryC::somtFormatModifier"
  611. #define SOMTEntryC_somtFormatModifier(somSelf,buffer,name,value) \
  612.     (SOM_Resolve(somSelf, SOMTEntryC, somtFormatModifier) \
  613.     (somSelf,buffer,name,value))
  614. #ifndef SOMGD_somtFormatModifier
  615.     #if (defined(_somtFormatModifier) || defined(__somtFormatModifier))
  616.         #undef _somtFormatModifier
  617.         #undef __somtFormatModifier
  618.         #define SOMGD_somtFormatModifier 1
  619.     #else
  620.         #define _somtFormatModifier SOMTEntryC_somtFormatModifier
  621.     #endif /* _somtFormatModifier */
  622. #endif /* SOMGD_somtFormatModifier */
  623.  
  624. /*
  625.  * New Method: somtGetModifierList
  626.  */
  627. typedef long   SOMLINK somTP_SOMTEntryC_somtGetModifierList(SOMTEntryC *somSelf, 
  628.         string buffer);
  629. #pragma linkage(somTP_SOMTEntryC_somtGetModifierList, system)
  630. typedef somTP_SOMTEntryC_somtGetModifierList *somTD_SOMTEntryC_somtGetModifierList;
  631. /*
  632.  *  The modifiers for this entry are placed in <buffer> in template
  633.  *  list form (newline separated).  Buffer must be big enough to
  634.  *  hold all the modifiers, no checks are made. The number of
  635.  *  modifiers is returned.
  636.  */
  637. #define somMD_SOMTEntryC_somtGetModifierList "::SOMTEntryC::somtGetModifierList"
  638. #define SOMTEntryC_somtGetModifierList(somSelf,buffer) \
  639.     (SOM_Resolve(somSelf, SOMTEntryC, somtGetModifierList) \
  640.     (somSelf,buffer))
  641. #ifndef SOMGD_somtGetModifierList
  642.     #if (defined(_somtGetModifierList) || defined(__somtGetModifierList))
  643.         #undef _somtGetModifierList
  644.         #undef __somtGetModifierList
  645.         #define SOMGD_somtGetModifierList 1
  646.     #else
  647.         #define _somtGetModifierList SOMTEntryC_somtGetModifierList
  648.     #endif /* _somtGetModifierList */
  649. #endif /* SOMGD_somtGetModifierList */
  650.  
  651. /*
  652.  * New Method: somtSetSymbolsOnEntry
  653.  */
  654. typedef long   SOMLINK somTP_SOMTEntryC_somtSetSymbolsOnEntry(SOMTEntryC *somSelf, 
  655.         SOMTEmitC* emitter, 
  656.         string prefix);
  657. #pragma linkage(somTP_SOMTEntryC_somtSetSymbolsOnEntry, system)
  658. typedef somTP_SOMTEntryC_somtSetSymbolsOnEntry *somTD_SOMTEntryC_somtSetSymbolsOnEntry;
  659. /*
  660.  *  Places a number of symbol/value pairs in <t>.  All the symbols
  661.  *  will begin with <prefix>.
  662.  */
  663. #define somMD_SOMTEntryC_somtSetSymbolsOnEntry "::SOMTEntryC::somtSetSymbolsOnEntry"
  664. #define SOMTEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix) \
  665.     (SOM_Resolve(somSelf, SOMTEntryC, somtSetSymbolsOnEntry) \
  666.     (somSelf,emitter,prefix))
  667. #ifndef SOMGD_somtSetSymbolsOnEntry
  668.     #if (defined(_somtSetSymbolsOnEntry) || defined(__somtSetSymbolsOnEntry))
  669.         #undef _somtSetSymbolsOnEntry
  670.         #undef __somtSetSymbolsOnEntry
  671.         #define SOMGD_somtSetSymbolsOnEntry 1
  672.     #else
  673.         #define _somtSetSymbolsOnEntry SOMTEntryC_somtSetSymbolsOnEntry
  674.     #endif /* _somtSetSymbolsOnEntry */
  675. #endif /* SOMGD_somtSetSymbolsOnEntry */
  676.  
  677. /*
  678.  * New Method: somtSetEntryStruct
  679.  */
  680. typedef void   SOMLINK somTP_SOMTEntryC_somtSetEntryStruct(SOMTEntryC *somSelf, 
  681.         Entry* es);
  682. #pragma linkage(somTP_SOMTEntryC_somtSetEntryStruct, system)
  683. typedef somTP_SOMTEntryC_somtSetEntryStruct *somTD_SOMTEntryC_somtSetEntryStruct;
  684. /*
  685.  *  Sets the entry struct data member.
  686.  *  Note, when overridding this method, it is important to call the
  687.  *  parent version of the method first and then do your processing.
  688.  */
  689. #define somMD_SOMTEntryC_somtSetEntryStruct "::SOMTEntryC::somtSetEntryStruct"
  690. #define SOMTEntryC_somtSetEntryStruct(somSelf,es) \
  691.     (SOM_Resolve(somSelf, SOMTEntryC, somtSetEntryStruct) \
  692.     (somSelf,es))
  693. #ifndef SOMGD_somtSetEntryStruct
  694.     #if (defined(_somtSetEntryStruct) || defined(__somtSetEntryStruct))
  695.         #undef _somtSetEntryStruct
  696.         #undef __somtSetEntryStruct
  697.         #define SOMGD_somtSetEntryStruct 1
  698.     #else
  699.         #define _somtSetEntryStruct SOMTEntryC_somtSetEntryStruct
  700.     #endif /* _somtSetEntryStruct */
  701. #endif /* SOMGD_somtSetEntryStruct */
  702. #ifndef SOM_DONT_USE_INHERITED_MACROS
  703. #define SOMTEntryC_somDefaultInit SOMObject_somDefaultInit
  704. #define SOMTEntryC_somDestruct SOMObject_somDestruct
  705. #define SOMTEntryC_somDefaultCopyInit SOMObject_somDefaultCopyInit
  706. #define SOMTEntryC_somDefaultAssign SOMObject_somDefaultAssign
  707. #define SOMTEntryC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  708. #define SOMTEntryC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  709. #define SOMTEntryC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  710. #define SOMTEntryC_somDefaultConstAssign SOMObject_somDefaultConstAssign
  711. #define SOMTEntryC_somDefaultVAssign SOMObject_somDefaultVAssign
  712. #define SOMTEntryC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  713. #define SOMTEntryC_somFree SOMObject_somFree
  714. #define SOMTEntryC_somGetClass SOMObject_somGetClass
  715. #define SOMTEntryC_somGetClassName SOMObject_somGetClassName
  716. #define SOMTEntryC_somGetSize SOMObject_somGetSize
  717. #define SOMTEntryC_somIsA SOMObject_somIsA
  718. #define SOMTEntryC_somIsInstanceOf SOMObject_somIsInstanceOf
  719. #define SOMTEntryC_somRespondsTo SOMObject_somRespondsTo
  720. #define SOMTEntryC_somDispatch SOMObject_somDispatch
  721. #define SOMTEntryC_somClassDispatch SOMObject_somClassDispatch
  722. #define SOMTEntryC_somCastObj SOMObject_somCastObj
  723. #define SOMTEntryC_somResetObj SOMObject_somResetObj
  724. #define SOMTEntryC_somDispatchV SOMObject_somDispatchV
  725. #define SOMTEntryC_somDispatchL SOMObject_somDispatchL
  726. #define SOMTEntryC_somDispatchA SOMObject_somDispatchA
  727. #define SOMTEntryC_somDispatchD SOMObject_somDispatchD
  728. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  729.  
  730. #endif       /* SOM_SOMTEntryC_h */
  731.