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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somida.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somu
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  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.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMUTId_h
  26. #define SOM_SOMUTId_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMUTId
  42. #define SOMUTId SOMObject
  43. #endif
  44. /*
  45.  *  This is the abstract base class for an ID. Only the interface is
  46.  *  defined. Refer to derived classes for details.
  47.  * 
  48.  *  Instances of classes derived from this one should represent a
  49.  *  value which can be used to identify something... such as an object,
  50.  *  a file, a network node, etc, etc...
  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.  
  63. /*
  64.  * End of bindings for IDL types.
  65.  */
  66.  
  67. #define SOMUTId_MajorVersion 2
  68. #define SOMUTId_MinorVersion 1
  69.  
  70. /*
  71.  * External name shortening if required
  72.  */
  73. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  74. #define SOMUTIdNewClass c
  75. #pragma linkage(c, system)
  76. #define SOMUTIdClassData d
  77. #define SOMUTIdCClassData x
  78. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  79. /*--------------Migration------------*/
  80. #define SOMUTId_classObj SOMUTIdClassData.classObject
  81. #define _SOMUTId SOMUTId_classObj
  82.  
  83. /*
  84.  * Declare the class creation procedure
  85.  */
  86. SOMEXTERN SOMClass * SOMLINK SOMUTIdNewClass(integer4 somtmajorVersion,
  87.         integer4 somtminorVersion);
  88. #pragma linkage(SOMUTIdNewClass, system)
  89.  
  90. /*
  91.  * Declare the class data structure
  92.  */
  93. SOMEXTERN struct SOMUTIdClassDataStructure {
  94.     SOMClass *classObject;
  95.     somMToken somutSetIdId;
  96.     somMToken somutEqualsId;
  97.     somMToken somutCompareId;
  98.     somMToken somutHashId;
  99. } SOMDLINK SOMUTIdClassData;
  100.  
  101. /*
  102.  * Declare the C specific class data structure
  103.  */
  104. SOMEXTERN struct SOMUTIdCClassDataStructure {
  105.     somMethodTabs parentMtab;
  106.     somDToken instanceDataToken;
  107. } SOMDLINK SOMUTIdCClassData;
  108.  
  109. /*
  110.  * New and Renew macros for SOMUTId
  111.  */
  112. #define SOMUTIdNew() \
  113.    ( _SOMUTId ? \
  114.     _somNew(_SOMUTId) \
  115.     : ( SOMUTIdNewClass(\
  116.         SOMUTId_MajorVersion, \
  117.         SOMUTId_MinorVersion),\
  118.        _somNew(_SOMUTId)))
  119. #define SOMUTIdRenew(buf) \
  120.    ( _SOMUTId ? \
  121.     _somRenew(_SOMUTId, buf) \
  122.     : ( SOMUTIdNewClass(\
  123.         SOMUTId_MajorVersion, \
  124.         SOMUTId_MinorVersion),\
  125.        _somRenew(_SOMUTId, buf)))
  126.  
  127. /*
  128.  * New Method: somutSetIdId
  129.  */
  130. typedef void   SOMLINK somTP_SOMUTId_somutSetIdId(SOMUTId *somSelf, Environment *ev, 
  131.         SOMUTId* otherId);
  132. #pragma linkage(somTP_SOMUTId_somutSetIdId, system)
  133. typedef somTP_SOMUTId_somutSetIdId *somTD_SOMUTId_somutSetIdId;
  134. /*
  135.  *  Sets the ID equal to ID of the given ID.
  136.  */
  137. #define somMD_SOMUTId_somutSetIdId "::SOMUTId::somutSetIdId"
  138. #define SOMUTId_somutSetIdId(somSelf,ev,otherId) \
  139.     (SOM_Resolve(somSelf, SOMUTId, somutSetIdId) \
  140.     (somSelf,ev,otherId))
  141. #ifndef SOMGD_somutSetIdId
  142.     #if (defined(_somutSetIdId) || defined(__somutSetIdId))
  143.         #undef _somutSetIdId
  144.         #undef __somutSetIdId
  145.         #define SOMGD_somutSetIdId 1
  146.     #else
  147.         #define _somutSetIdId SOMUTId_somutSetIdId
  148.     #endif /* _somutSetIdId */
  149. #endif /* SOMGD_somutSetIdId */
  150.  
  151. /*
  152.  * New Method: somutEqualsId
  153.  */
  154. typedef boolean   SOMLINK somTP_SOMUTId_somutEqualsId(SOMUTId *somSelf, Environment *ev, 
  155.         SOMUTId* otherId);
  156. #pragma linkage(somTP_SOMUTId_somutEqualsId, system)
  157. typedef somTP_SOMUTId_somutEqualsId *somTD_SOMUTId_somutEqualsId;
  158. /*
  159.  *  Checks to see if this object's ID is equivalent to the given ID.
  160.  *  Returns TRUE if the ID's are equivalent, FALSE otherwise.
  161.  */
  162. #define somMD_SOMUTId_somutEqualsId "::SOMUTId::somutEqualsId"
  163. #define SOMUTId_somutEqualsId(somSelf,ev,otherId) \
  164.     (SOM_Resolve(somSelf, SOMUTId, somutEqualsId) \
  165.     (somSelf,ev,otherId))
  166. #ifndef SOMGD_somutEqualsId
  167.     #if (defined(_somutEqualsId) || defined(__somutEqualsId))
  168.         #undef _somutEqualsId
  169.         #undef __somutEqualsId
  170.         #define SOMGD_somutEqualsId 1
  171.     #else
  172.         #define _somutEqualsId SOMUTId_somutEqualsId
  173.     #endif /* _somutEqualsId */
  174. #endif /* SOMGD_somutEqualsId */
  175.  
  176. /*
  177.  * New Method: somutCompareId
  178.  */
  179. typedef short   SOMLINK somTP_SOMUTId_somutCompareId(SOMUTId *somSelf, Environment *ev, 
  180.         SOMUTId* otherId);
  181. #pragma linkage(somTP_SOMUTId_somutCompareId, system)
  182. typedef somTP_SOMUTId_somutCompareId *somTD_SOMUTId_somutCompareId;
  183. /*
  184.  *  Performs an ordered comparison with another Id.
  185.  *  If this ID < otherId  -1 is returned.
  186.  *  If this ID = otherId   0 is returned.
  187.  *  If this ID > otherId   1 is returned.
  188.  */
  189. #define somMD_SOMUTId_somutCompareId "::SOMUTId::somutCompareId"
  190. #define SOMUTId_somutCompareId(somSelf,ev,otherId) \
  191.     (SOM_Resolve(somSelf, SOMUTId, somutCompareId) \
  192.     (somSelf,ev,otherId))
  193. #ifndef SOMGD_somutCompareId
  194.     #if (defined(_somutCompareId) || defined(__somutCompareId))
  195.         #undef _somutCompareId
  196.         #undef __somutCompareId
  197.         #define SOMGD_somutCompareId 1
  198.     #else
  199.         #define _somutCompareId SOMUTId_somutCompareId
  200.     #endif /* _somutCompareId */
  201. #endif /* SOMGD_somutCompareId */
  202.  
  203. /*
  204.  * New Method: somutHashId
  205.  */
  206. typedef unsigned long   SOMLINK somTP_SOMUTId_somutHashId(SOMUTId *somSelf, Environment *ev);
  207. #pragma linkage(somTP_SOMUTId_somutHashId, system)
  208. typedef somTP_SOMUTId_somutHashId *somTD_SOMUTId_somutHashId;
  209. /*
  210.  *  Returns an unsigned integer hash value based on the ID.
  211.  */
  212. #define somMD_SOMUTId_somutHashId "::SOMUTId::somutHashId"
  213. #define SOMUTId_somutHashId(somSelf,ev) \
  214.     (SOM_Resolve(somSelf, SOMUTId, somutHashId) \
  215.     (somSelf,ev))
  216. #ifndef SOMGD_somutHashId
  217.     #if (defined(_somutHashId) || defined(__somutHashId))
  218.         #undef _somutHashId
  219.         #undef __somutHashId
  220.         #define SOMGD_somutHashId 1
  221.     #else
  222.         #define _somutHashId SOMUTId_somutHashId
  223.     #endif /* _somutHashId */
  224. #endif /* SOMGD_somutHashId */
  225. #ifndef SOM_DONT_USE_INHERITED_MACROS
  226. #define SOMUTId_somDefaultInit SOMObject_somDefaultInit
  227. #define SOMUTId_somDestruct SOMObject_somDestruct
  228. #define SOMUTId_somDefaultCopyInit SOMObject_somDefaultCopyInit
  229. #define SOMUTId_somDefaultAssign SOMObject_somDefaultAssign
  230. #define SOMUTId_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  231. #define SOMUTId_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  232. #define SOMUTId_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  233. #define SOMUTId_somDefaultConstAssign SOMObject_somDefaultConstAssign
  234. #define SOMUTId_somDefaultVAssign SOMObject_somDefaultVAssign
  235. #define SOMUTId_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  236. #define SOMUTId_somInit SOMObject_somInit
  237. #define SOMUTId_somFree SOMObject_somFree
  238. #define SOMUTId_somUninit SOMObject_somUninit
  239. #define SOMUTId_somGetClass SOMObject_somGetClass
  240. #define SOMUTId_somGetClassName SOMObject_somGetClassName
  241. #define SOMUTId_somGetSize SOMObject_somGetSize
  242. #define SOMUTId_somIsA SOMObject_somIsA
  243. #define SOMUTId_somIsInstanceOf SOMObject_somIsInstanceOf
  244. #define SOMUTId_somRespondsTo SOMObject_somRespondsTo
  245. #define SOMUTId_somDispatch SOMObject_somDispatch
  246. #define SOMUTId_somClassDispatch SOMObject_somClassDispatch
  247. #define SOMUTId_somCastObj SOMObject_somCastObj
  248. #define SOMUTId_somResetObj SOMObject_somResetObj
  249. #define SOMUTId_somDispatchV SOMObject_somDispatchV
  250. #define SOMUTId_somDispatchL SOMObject_somDispatchL
  251. #define SOMUTId_somDispatchA SOMObject_somDispatchA
  252. #define SOMUTId_somDispatchD SOMObject_somDispatchD
  253. #define SOMUTId_somPrintSelf SOMObject_somPrintSelf
  254. #define SOMUTId_somDumpSelf SOMObject_somDumpSelf
  255. #define SOMUTId_somDumpSelfInt SOMObject_somDumpSelfInt
  256. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  257.  
  258. #endif       /* SOM_SOMUTId_h */
  259.