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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: typedef.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. #ifndef SOM_TypeDef_h
  11. #define SOM_TypeDef_h
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.h", "before"
  16.  */
  17.  
  18.     #include <somtcnst.h>
  19.     #include <somir.h>
  20.     #include <containd.h>
  21.  
  22.  
  23. #include <som.h>
  24.  
  25. /*
  26.  * -- This emitter treats Method Tokens as Thunks by default.
  27.  * -- Use the sc modifier "nothunks" to change this default
  28.  */
  29. #undef somresolve_
  30. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  31.  
  32. /*
  33.  * Define the class name as an object type
  34.  */
  35. #ifndef TypeDef
  36. #define TypeDef SOMObject
  37. #endif
  38. /*
  39.  *  This interface is used to access information associated with
  40.  *  typedefs, unions, enums, & structs defined in an IDL file.
  41.  * 
  42.  *  See CORBA 1.1, 7.5.8, p.137
  43.  */
  44. #include <containd.h>
  45.  
  46. /*
  47.  * Start of bindings for IDL types
  48.  */
  49.  
  50. #ifndef SOMClass
  51.     #define SOMClass SOMObject
  52. #endif /* SOMClass */
  53. #ifndef Container
  54.     #define Container SOMObject
  55. #endif /* Container */
  56. typedef
  57. struct TypeDef_TypeDescription {
  58. Identifier name;
  59. RepositoryId id;
  60. RepositoryId defined_in;
  61. TypeCode type;
  62. } TypeDef_TypeDescription;
  63. /*
  64.  *  The inherited describe method returns an instance of this
  65.  *  (TypeDescription) structure in the "value" member of the
  66.  *  Description structure defined in the Contained interface.
  67.  */
  68.  
  69.  
  70. #ifndef SOM_DONT_USE_SHORT_NAMES
  71. #ifndef SOMTGD_TypeDescription
  72.     #ifdef TypeDescription
  73.         #undef TypeDescription
  74.         #define SOMTGD_TypeDescription 1
  75.     #else
  76.         #define TypeDescription TypeDef_TypeDescription
  77.     #endif /* TypeDescription */
  78. #endif /* SOMTGD_TypeDescription */
  79. #endif /* SOM_DONT_USE_SHORT_NAMES */
  80.  
  81. /*
  82.  * End of bindings for IDL types.
  83.  */
  84.  
  85. #define TypeDef_MajorVersion 2
  86. #define TypeDef_MinorVersion 3
  87.  
  88. /*
  89.  * External name shortening if required
  90.  */
  91. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  92. #define TypeDefNewClass c
  93. #pragma linkage(c, system)
  94. #define TypeDefClassData d
  95. #define TypeDefCClassData x
  96. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  97. /*--------------Migration------------*/
  98. #define TypeDef_classObj TypeDefClassData.classObject
  99. #define _TypeDef TypeDef_classObj
  100.  
  101. /*
  102.  * Declare the class creation procedure
  103.  */
  104. SOMEXTERN SOMClass * SOMLINK TypeDefNewClass(integer4 somtmajorVersion,
  105.         integer4 somtminorVersion);
  106. #pragma linkage(TypeDefNewClass, system)
  107.  
  108. /*
  109.  * Declare the class data structure
  110.  */
  111. SOMEXTERN struct TypeDefClassDataStructure {
  112.     SOMClass *classObject;
  113.     somMToken _get_type;
  114.     somMToken _set_type;
  115. } SOMDLINK TypeDefClassData;
  116.  
  117. /*
  118.  * Declare the C specific class data structure
  119.  */
  120. SOMEXTERN struct TypeDefCClassDataStructure {
  121.     somMethodTabs parentMtab;
  122.     somDToken instanceDataToken;
  123. } SOMDLINK TypeDefCClassData;
  124.  
  125. /*
  126.  * New and Renew macros for TypeDef
  127.  */
  128. #define TypeDefNew() \
  129.    ( _TypeDef ? \
  130.     _somNew(_TypeDef) \
  131.     : ( TypeDefNewClass(\
  132.         TypeDef_MajorVersion, \
  133.         TypeDef_MinorVersion),\
  134.        _somNew(_TypeDef)))
  135. #define TypeDefRenew(buf) \
  136.    ( _TypeDef ? \
  137.     _somRenew(_TypeDef, buf) \
  138.     : ( TypeDefNewClass(\
  139.         TypeDef_MajorVersion, \
  140.         TypeDef_MinorVersion),\
  141.        _somRenew(_TypeDef, buf)))
  142.  
  143. /*
  144.  * Override method: somDefaultInit
  145.  */
  146. #define TypeDef_somDefaultInit(somSelf,ctrl) \
  147.     SOMObject_somDefaultInit(somSelf,ctrl)
  148.  
  149. /*
  150.  * Override method: somDestruct
  151.  */
  152. #define TypeDef_somDestruct(somSelf,doFree,ctrl) \
  153.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  154.  
  155. /*
  156.  * Override method: somDumpSelf
  157.  */
  158. #define TypeDef_somDumpSelf(somSelf,level) \
  159.     SOMObject_somDumpSelf(somSelf,level)
  160.  
  161. /*
  162.  * Override method: somDumpSelfInt
  163.  */
  164. #define TypeDef_somDumpSelfInt(somSelf,level) \
  165.     SOMObject_somDumpSelfInt(somSelf,level)
  166.  
  167. /*
  168.  * Override method: describe
  169.  */
  170. #define TypeDef_describe(somSelf,ev) \
  171.     Contained_describe(somSelf,ev)
  172.  
  173. /*
  174.  * New Method: _get_type
  175.  */
  176. typedef TypeCode   SOMLINK somTP_TypeDef__get_type(TypeDef *somSelf, Environment *ev);
  177. #pragma linkage(somTP_TypeDef__get_type, system)
  178. typedef somTP_TypeDef__get_type *somTD_TypeDef__get_type;
  179. /*
  180.  *  The TypeCode of the receiving object.  The memory used to hold
  181.  *  the TypeCode is contained in the receiving object, which retains
  182.  *  ownership.  Hence, do not free the returned TypeCode.  If you want
  183.  *  to obtain a separate copy, use the TypeCode_copy operation.
  184.  */
  185. #define somMD_TypeDef__get_type "::TypeDef::_get_type"
  186. #define TypeDef__get_type(somSelf,ev) \
  187.     (SOM_Resolve(somSelf, TypeDef, _get_type) \
  188.     (somSelf,ev))
  189. #ifndef SOMGD_get_type
  190.     #if (defined(_get_type) || defined(__get_type))
  191.         #undef _get_type
  192.         #undef __get_type
  193.         #define SOMGD_get_type 1
  194.     #else
  195.         #define __get_type TypeDef__get_type
  196.     #endif /* __get_type */
  197. #endif /* SOMGD_get_type */
  198.  
  199. /*
  200.  * New Method: _set_type
  201.  */
  202. typedef void   SOMLINK somTP_TypeDef__set_type(TypeDef *somSelf, Environment *ev, 
  203.         TypeCode type);
  204. #pragma linkage(somTP_TypeDef__set_type, system)
  205. typedef somTP_TypeDef__set_type *somTD_TypeDef__set_type;
  206. /*
  207.  *  The TypeCode of the receiving object.  The memory used to hold
  208.  *  the TypeCode is contained in the receiving object, which retains
  209.  *  ownership.  Hence, do not free the returned TypeCode.  If you want
  210.  *  to obtain a separate copy, use the TypeCode_copy operation.
  211.  */
  212. #define somMD_TypeDef__set_type "::TypeDef::_set_type"
  213. #define TypeDef__set_type(somSelf,ev,type) \
  214.     (SOM_Resolve(somSelf, TypeDef, _set_type) \
  215.     (somSelf,ev,type))
  216. #ifndef SOMGD_set_type
  217.     #if (defined(_set_type) || defined(__set_type))
  218.         #undef _set_type
  219.         #undef __set_type
  220.         #define SOMGD_set_type 1
  221.     #else
  222.         #define __set_type TypeDef__set_type
  223.     #endif /* __set_type */
  224. #endif /* SOMGD_set_type */
  225. #ifndef SOM_DONT_USE_INHERITED_MACROS
  226. #define TypeDef__get_name Contained__get_name
  227. #define TypeDef__set_name Contained__set_name
  228. #define TypeDef__get_id Contained__get_id
  229. #define TypeDef__set_id Contained__set_id
  230. #define TypeDef__get_defined_in Contained__get_defined_in
  231. #define TypeDef__set_defined_in Contained__set_defined_in
  232. #define TypeDef__get_somModifiers Contained__get_somModifiers
  233. #define TypeDef__set_somModifiers Contained__set_somModifiers
  234. #define TypeDef_within Contained_within
  235. #define TypeDef_somFree SOMObject_somFree
  236. #define TypeDef_somDefaultCopyInit SOMObject_somDefaultCopyInit
  237. #define TypeDef_somDefaultAssign SOMObject_somDefaultAssign
  238. #define TypeDef_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  239. #define TypeDef_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  240. #define TypeDef_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  241. #define TypeDef_somDefaultConstAssign SOMObject_somDefaultConstAssign
  242. #define TypeDef_somDefaultVAssign SOMObject_somDefaultVAssign
  243. #define TypeDef_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  244. #define TypeDef_somInit SOMObject_somInit
  245. #define TypeDef_somUninit SOMObject_somUninit
  246. #define TypeDef_somGetClass SOMObject_somGetClass
  247. #define TypeDef_somGetClassName SOMObject_somGetClassName
  248. #define TypeDef_somGetSize SOMObject_somGetSize
  249. #define TypeDef_somIsA SOMObject_somIsA
  250. #define TypeDef_somIsInstanceOf SOMObject_somIsInstanceOf
  251. #define TypeDef_somRespondsTo SOMObject_somRespondsTo
  252. #define TypeDef_somDispatch SOMObject_somDispatch
  253. #define TypeDef_somClassDispatch SOMObject_somClassDispatch
  254. #define TypeDef_somCastObj SOMObject_somCastObj
  255. #define TypeDef_somResetObj SOMObject_somResetObj
  256. #define TypeDef_somDispatchV SOMObject_somDispatchV
  257. #define TypeDef_somDispatchL SOMObject_somDispatchL
  258. #define TypeDef_somDispatchA SOMObject_somDispatchA
  259. #define TypeDef_somDispatchD SOMObject_somDispatchD
  260. #define TypeDef_somPrintSelf SOMObject_somPrintSelf
  261. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  262.  
  263. #endif       /* SOM_TypeDef_h */
  264.