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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: intfacdf.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. #ifndef SOM_InterfaceDef_h
  11. #define SOM_InterfaceDef_h
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.h", "before"
  16.  */
  17.  
  18.     #include <somtcnst.h>
  19.     #include <somir.h>
  20.     #include <operatdf.h>
  21.     #include <attribdf.h>
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default.
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef InterfaceDef
  37. #define InterfaceDef SOMObject
  38. #endif
  39. /*
  40.  *  This interface is used to access information associated with
  41.  *  interfaces defined in an IDL file.
  42.  * 
  43.  *  See CORBA 1.1, 7.5.4, p.134
  44.  */
  45. #include <containd.h>
  46. #include <containr.h>
  47.  
  48. /*
  49.  * Start of bindings for IDL types
  50.  */
  51.  
  52. #ifndef SOMClass
  53.     #define SOMClass SOMObject
  54. #endif /* SOMClass */
  55. #ifndef Container
  56.     #define Container SOMObject
  57. #endif /* Container */
  58. struct OperationDef_OperationDescription;
  59. #ifndef _IDL_SEQUENCE_OperationDef_OperationDescription_defined
  60. #define _IDL_SEQUENCE_OperationDef_OperationDescription_defined
  61. typedef struct {
  62.     unsigned long _maximum;
  63.     unsigned long _length;
  64.     struct OperationDef_OperationDescription *_buffer;
  65. } _IDL_SEQUENCE_OperationDef_OperationDescription;
  66. #endif /* _IDL_SEQUENCE_OperationDef_OperationDescription_defined */ 
  67. struct AttributeDef_AttributeDescription;
  68. #ifndef _IDL_SEQUENCE_AttributeDef_AttributeDescription_defined
  69. #define _IDL_SEQUENCE_AttributeDef_AttributeDescription_defined
  70. typedef struct {
  71.     unsigned long _maximum;
  72.     unsigned long _length;
  73.     struct AttributeDef_AttributeDescription *_buffer;
  74. } _IDL_SEQUENCE_AttributeDef_AttributeDescription;
  75. #endif /* _IDL_SEQUENCE_AttributeDef_AttributeDescription_defined */ 
  76. typedef
  77. struct InterfaceDef_FullInterfaceDescription {
  78. Identifier name;
  79. RepositoryId id;
  80. RepositoryId defined_in;
  81. _IDL_SEQUENCE_OperationDef_OperationDescription operation;
  82. _IDL_SEQUENCE_AttributeDef_AttributeDescription attributes;
  83. } InterfaceDef_FullInterfaceDescription;
  84. typedef
  85. struct InterfaceDef_InterfaceDescription {
  86. Identifier name;
  87. RepositoryId id;
  88. RepositoryId defined_in;
  89. } InterfaceDef_InterfaceDescription;
  90. /*
  91.  *  The inherited describe method returns an instance of this
  92.  *  (InterfaceDescription) structure in the "value" member of the
  93.  *  Description structure defined in the Contained interface.
  94.  *  The inherited describe_contents method in the Container
  95.  *  interface returns a sequence of these Description structures
  96.  *  each carrying a reference to an InterfaceDescription structure
  97.  *  in its "value" member.
  98.  */
  99.  
  100. #ifndef _IDL_SEQUENCE_string_defined
  101. #define _IDL_SEQUENCE_string_defined
  102. typedef struct {
  103.     unsigned long _maximum;
  104.     unsigned long _length;
  105.     string *_buffer;
  106. } _IDL_SEQUENCE_string;
  107. #endif /* _IDL_SEQUENCE_string_defined */ 
  108.  
  109. #ifndef SOM_DONT_USE_SHORT_NAMES
  110. #ifndef SOMTGD__IDL_SEQUENCE_OperationDescription
  111.     #ifdef _IDL_SEQUENCE_OperationDescription
  112.         #undef _IDL_SEQUENCE_OperationDescription
  113.         #define SOMTGD__IDL_SEQUENCE_OperationDescription 1
  114.     #else
  115.         #define _IDL_SEQUENCE_OperationDescription _IDL_SEQUENCE_OperationDef_OperationDescription
  116.     #endif /* _IDL_SEQUENCE_OperationDescription */
  117. #endif /* SOMTGD__IDL_SEQUENCE_OperationDescription */
  118. #ifndef SOMTGD__IDL_SEQUENCE_AttributeDescription
  119.     #ifdef _IDL_SEQUENCE_AttributeDescription
  120.         #undef _IDL_SEQUENCE_AttributeDescription
  121.         #define SOMTGD__IDL_SEQUENCE_AttributeDescription 1
  122.     #else
  123.         #define _IDL_SEQUENCE_AttributeDescription _IDL_SEQUENCE_AttributeDef_AttributeDescription
  124.     #endif /* _IDL_SEQUENCE_AttributeDescription */
  125. #endif /* SOMTGD__IDL_SEQUENCE_AttributeDescription */
  126. #ifndef SOMTGD_FullInterfaceDescription
  127.     #ifdef FullInterfaceDescription
  128.         #undef FullInterfaceDescription
  129.         #define SOMTGD_FullInterfaceDescription 1
  130.     #else
  131.         #define FullInterfaceDescription InterfaceDef_FullInterfaceDescription
  132.     #endif /* FullInterfaceDescription */
  133. #endif /* SOMTGD_FullInterfaceDescription */
  134. #ifndef SOMTGD_InterfaceDescription
  135.     #ifdef InterfaceDescription
  136.         #undef InterfaceDescription
  137.         #define SOMTGD_InterfaceDescription 1
  138.     #else
  139.         #define InterfaceDescription InterfaceDef_InterfaceDescription
  140.     #endif /* InterfaceDescription */
  141. #endif /* SOMTGD_InterfaceDescription */
  142. #endif /* SOM_DONT_USE_SHORT_NAMES */
  143.  
  144. /*
  145.  * End of bindings for IDL types.
  146.  */
  147.  
  148. #define InterfaceDef_MajorVersion 2
  149. #define InterfaceDef_MinorVersion 3
  150.  
  151. /*
  152.  * External name shortening if required
  153.  */
  154. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  155. #define InterfaceDefNewClass c
  156. #pragma linkage(c, system)
  157. #define InterfaceDefClassData d
  158. #define InterfaceDefCClassData x
  159. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  160. /*--------------Migration------------*/
  161. #define InterfaceDef_classObj InterfaceDefClassData.classObject
  162. #define _InterfaceDef InterfaceDef_classObj
  163.  
  164. /*
  165.  * Declare the class creation procedure
  166.  */
  167. SOMEXTERN SOMClass * SOMLINK InterfaceDefNewClass(integer4 somtmajorVersion,
  168.         integer4 somtminorVersion);
  169. #pragma linkage(InterfaceDefNewClass, system)
  170.  
  171. /*
  172.  * Declare the class data structure
  173.  */
  174. SOMEXTERN struct InterfaceDefClassDataStructure {
  175.     SOMClass *classObject;
  176.     somMToken describe_interface;
  177.     somMToken _get_base_interfaces;
  178.     somMToken _set_base_interfaces;
  179.     somMToken _get_instanceData;
  180.     somMToken _set_instanceData;
  181. } SOMDLINK InterfaceDefClassData;
  182.  
  183. /*
  184.  * Declare the C specific class data structure
  185.  */
  186. SOMEXTERN struct InterfaceDefCClassDataStructure {
  187.     somMethodTabs parentMtab;
  188.     somDToken instanceDataToken;
  189. } SOMDLINK InterfaceDefCClassData;
  190.  
  191. /*
  192.  * New and Renew macros for InterfaceDef
  193.  */
  194. #define InterfaceDefNew() \
  195.    ( _InterfaceDef ? \
  196.     _somNew(_InterfaceDef) \
  197.     : ( InterfaceDefNewClass(\
  198.         InterfaceDef_MajorVersion, \
  199.         InterfaceDef_MinorVersion),\
  200.        _somNew(_InterfaceDef)))
  201. #define InterfaceDefRenew(buf) \
  202.    ( _InterfaceDef ? \
  203.     _somRenew(_InterfaceDef, buf) \
  204.     : ( InterfaceDefNewClass(\
  205.         InterfaceDef_MajorVersion, \
  206.         InterfaceDef_MinorVersion),\
  207.        _somRenew(_InterfaceDef, buf)))
  208.  
  209. /*
  210.  * Override method: somDefaultInit
  211.  */
  212. #define InterfaceDef_somDefaultInit(somSelf,ctrl) \
  213.     SOMObject_somDefaultInit(somSelf,ctrl)
  214.  
  215. /*
  216.  * Override method: somDestruct
  217.  */
  218. #define InterfaceDef_somDestruct(somSelf,doFree,ctrl) \
  219.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  220.  
  221. /*
  222.  * Override method: somDumpSelf
  223.  */
  224. #define InterfaceDef_somDumpSelf(somSelf,level) \
  225.     SOMObject_somDumpSelf(somSelf,level)
  226.  
  227. /*
  228.  * Override method: somDumpSelfInt
  229.  */
  230. #define InterfaceDef_somDumpSelfInt(somSelf,level) \
  231.     SOMObject_somDumpSelfInt(somSelf,level)
  232.  
  233. /*
  234.  * Override method: within
  235.  */
  236. #define InterfaceDef_within(somSelf,ev) \
  237.     Contained_within(somSelf,ev)
  238.  
  239. /*
  240.  * Override method: describe
  241.  */
  242. #define InterfaceDef_describe(somSelf,ev) \
  243.     Contained_describe(somSelf,ev)
  244.  
  245. /*
  246.  * New Method: _get_base_interfaces
  247.  */
  248. typedef _IDL_SEQUENCE_string   SOMLINK somTP_InterfaceDef__get_base_interfaces(InterfaceDef *somSelf, Environment *ev);
  249. #pragma linkage(somTP_InterfaceDef__get_base_interfaces, system)
  250. typedef somTP_InterfaceDef__get_base_interfaces *somTD_InterfaceDef__get_base_interfaces;
  251. /*
  252.  *  The sequence of RepositoryIds for all of the interfaces that the
  253.  *  receiving interface inherits.  Do not free the buffer,
  254.  *  its storage is still owned by the InterfaceDef object.
  255.  */
  256. #define somMD_InterfaceDef__get_base_interfaces "::InterfaceDef::_get_base_interfaces"
  257. #define InterfaceDef__get_base_interfaces(somSelf,ev) \
  258.     (SOM_Resolve(somSelf, InterfaceDef, _get_base_interfaces) \
  259.     (somSelf,ev))
  260. #ifndef SOMGD_get_base_interfaces
  261.     #if (defined(_get_base_interfaces) || defined(__get_base_interfaces))
  262.         #undef _get_base_interfaces
  263.         #undef __get_base_interfaces
  264.         #define SOMGD_get_base_interfaces 1
  265.     #else
  266.         #define __get_base_interfaces InterfaceDef__get_base_interfaces
  267.     #endif /* __get_base_interfaces */
  268. #endif /* SOMGD_get_base_interfaces */
  269.  
  270. /*
  271.  * New Method: _set_base_interfaces
  272.  */
  273. typedef void   SOMLINK somTP_InterfaceDef__set_base_interfaces(InterfaceDef *somSelf, Environment *ev, 
  274.         _IDL_SEQUENCE_string* base_interfaces);
  275. #pragma linkage(somTP_InterfaceDef__set_base_interfaces, system)
  276. typedef somTP_InterfaceDef__set_base_interfaces *somTD_InterfaceDef__set_base_interfaces;
  277. /*
  278.  *  The sequence of RepositoryIds for all of the interfaces that the
  279.  *  receiving interface inherits.  Do not free the buffer,
  280.  *  its storage is still owned by the InterfaceDef object.
  281.  */
  282. #define somMD_InterfaceDef__set_base_interfaces "::InterfaceDef::_set_base_interfaces"
  283. #define InterfaceDef__set_base_interfaces(somSelf,ev,base_interfaces) \
  284.     (SOM_Resolve(somSelf, InterfaceDef, _set_base_interfaces) \
  285.     (somSelf,ev,base_interfaces))
  286. #ifndef SOMGD_set_base_interfaces
  287.     #if (defined(_set_base_interfaces) || defined(__set_base_interfaces))
  288.         #undef _set_base_interfaces
  289.         #undef __set_base_interfaces
  290.         #define SOMGD_set_base_interfaces 1
  291.     #else
  292.         #define __set_base_interfaces InterfaceDef__set_base_interfaces
  293.     #endif /* __set_base_interfaces */
  294. #endif /* SOMGD_set_base_interfaces */
  295.  
  296. /*
  297.  * New Method: describe_interface
  298.  */
  299. typedef InterfaceDef_FullInterfaceDescription   SOMLINK somTP_InterfaceDef_describe_interface(InterfaceDef *somSelf, Environment *ev);
  300. #pragma linkage(somTP_InterfaceDef_describe_interface, system)
  301. typedef somTP_InterfaceDef_describe_interface *somTD_InterfaceDef_describe_interface;
  302. /*
  303.  *  Returns a description of all the operations and attributes in
  304.  *  an interface.
  305.  */
  306. #define somMD_InterfaceDef_describe_interface "::InterfaceDef::describe_interface"
  307. #define InterfaceDef_describe_interface(somSelf,ev) \
  308.     (SOM_Resolve(somSelf, InterfaceDef, describe_interface) \
  309.     (somSelf,ev))
  310. #ifndef SOMGD_describe_interface
  311.     #if (defined(_describe_interface) || defined(__describe_interface))
  312.         #undef _describe_interface
  313.         #undef __describe_interface
  314.         #define SOMGD_describe_interface 1
  315.     #else
  316.         #define _describe_interface InterfaceDef_describe_interface
  317.     #endif /* _describe_interface */
  318. #endif /* SOMGD_describe_interface */
  319.  
  320. /*
  321.  * New Method: _get_instanceData
  322.  */
  323. typedef TypeCode   SOMLINK somTP_InterfaceDef__get_instanceData(InterfaceDef *somSelf, Environment *ev);
  324. #pragma linkage(somTP_InterfaceDef__get_instanceData, system)
  325. typedef somTP_InterfaceDef__get_instanceData *somTD_InterfaceDef__get_instanceData;
  326. /*
  327.  *  [SOM-unique extension]
  328.  * 
  329.  *  The instance data members (if any) described in the SOM
  330.  *  implementation section of the IDL source file.
  331.  */
  332. #define somMD_InterfaceDef__get_instanceData "::InterfaceDef::_get_instanceData"
  333. #define InterfaceDef__get_instanceData(somSelf,ev) \
  334.     (SOM_Resolve(somSelf, InterfaceDef, _get_instanceData) \
  335.     (somSelf,ev))
  336. #ifndef SOMGD_get_instanceData
  337.     #if (defined(_get_instanceData) || defined(__get_instanceData))
  338.         #undef _get_instanceData
  339.         #undef __get_instanceData
  340.         #define SOMGD_get_instanceData 1
  341.     #else
  342.         #define __get_instanceData InterfaceDef__get_instanceData
  343.     #endif /* __get_instanceData */
  344. #endif /* SOMGD_get_instanceData */
  345.  
  346. /*
  347.  * New Method: _set_instanceData
  348.  */
  349. typedef void   SOMLINK somTP_InterfaceDef__set_instanceData(InterfaceDef *somSelf, Environment *ev, 
  350.         TypeCode instanceData);
  351. #pragma linkage(somTP_InterfaceDef__set_instanceData, system)
  352. typedef somTP_InterfaceDef__set_instanceData *somTD_InterfaceDef__set_instanceData;
  353. /*
  354.  *  [SOM-unique extension]
  355.  * 
  356.  *  The instance data members (if any) described in the SOM
  357.  *  implementation section of the IDL source file.
  358.  */
  359. #define somMD_InterfaceDef__set_instanceData "::InterfaceDef::_set_instanceData"
  360. #define InterfaceDef__set_instanceData(somSelf,ev,instanceData) \
  361.     (SOM_Resolve(somSelf, InterfaceDef, _set_instanceData) \
  362.     (somSelf,ev,instanceData))
  363. #ifndef SOMGD_set_instanceData
  364.     #if (defined(_set_instanceData) || defined(__set_instanceData))
  365.         #undef _set_instanceData
  366.         #undef __set_instanceData
  367.         #define SOMGD_set_instanceData 1
  368.     #else
  369.         #define __set_instanceData InterfaceDef__set_instanceData
  370.     #endif /* __set_instanceData */
  371. #endif /* SOMGD_set_instanceData */
  372. #ifndef SOM_DONT_USE_INHERITED_MACROS
  373. #define InterfaceDef__get_name Contained__get_name
  374. #define InterfaceDef__set_name Contained__set_name
  375. #define InterfaceDef__get_id Contained__get_id
  376. #define InterfaceDef__set_id Contained__set_id
  377. #define InterfaceDef__get_defined_in Contained__get_defined_in
  378. #define InterfaceDef__set_defined_in Contained__set_defined_in
  379. #define InterfaceDef__get_somModifiers Contained__get_somModifiers
  380. #define InterfaceDef__set_somModifiers Contained__set_somModifiers
  381. #define InterfaceDef_somFree SOMObject_somFree
  382. #define InterfaceDef_somDefaultCopyInit SOMObject_somDefaultCopyInit
  383. #define InterfaceDef_somDefaultAssign SOMObject_somDefaultAssign
  384. #define InterfaceDef_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  385. #define InterfaceDef_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  386. #define InterfaceDef_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  387. #define InterfaceDef_somDefaultConstAssign SOMObject_somDefaultConstAssign
  388. #define InterfaceDef_somDefaultVAssign SOMObject_somDefaultVAssign
  389. #define InterfaceDef_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  390. #define InterfaceDef_somInit SOMObject_somInit
  391. #define InterfaceDef_somUninit SOMObject_somUninit
  392. #define InterfaceDef_somGetClass SOMObject_somGetClass
  393. #define InterfaceDef_somGetClassName SOMObject_somGetClassName
  394. #define InterfaceDef_somGetSize SOMObject_somGetSize
  395. #define InterfaceDef_somIsA SOMObject_somIsA
  396. #define InterfaceDef_somIsInstanceOf SOMObject_somIsInstanceOf
  397. #define InterfaceDef_somRespondsTo SOMObject_somRespondsTo
  398. #define InterfaceDef_somDispatch SOMObject_somDispatch
  399. #define InterfaceDef_somClassDispatch SOMObject_somClassDispatch
  400. #define InterfaceDef_somCastObj SOMObject_somCastObj
  401. #define InterfaceDef_somResetObj SOMObject_somResetObj
  402. #define InterfaceDef_somDispatchV SOMObject_somDispatchV
  403. #define InterfaceDef_somDispatchL SOMObject_somDispatchL
  404. #define InterfaceDef_somDispatchA SOMObject_somDispatchA
  405. #define InterfaceDef_somDispatchD SOMObject_somDispatchD
  406. #define InterfaceDef_somPrintSelf SOMObject_somPrintSelf
  407. #define InterfaceDef_contents Container_contents
  408. #define InterfaceDef_lookup_name Container_lookup_name
  409. #define InterfaceDef_describe_contents Container_describe_contents
  410. #define InterfaceDef_somDefaultCopyInit SOMObject_somDefaultCopyInit
  411. #define InterfaceDef_somDefaultAssign SOMObject_somDefaultAssign
  412. #define InterfaceDef_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  413. #define InterfaceDef_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  414. #define InterfaceDef_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  415. #define InterfaceDef_somDefaultConstAssign SOMObject_somDefaultConstAssign
  416. #define InterfaceDef_somDefaultVAssign SOMObject_somDefaultVAssign
  417. #define InterfaceDef_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  418. #define InterfaceDef_somInit SOMObject_somInit
  419. #define InterfaceDef_somFree SOMObject_somFree
  420. #define InterfaceDef_somUninit SOMObject_somUninit
  421. #define InterfaceDef_somGetClass SOMObject_somGetClass
  422. #define InterfaceDef_somGetClassName SOMObject_somGetClassName
  423. #define InterfaceDef_somGetSize SOMObject_somGetSize
  424. #define InterfaceDef_somIsA SOMObject_somIsA
  425. #define InterfaceDef_somIsInstanceOf SOMObject_somIsInstanceOf
  426. #define InterfaceDef_somRespondsTo SOMObject_somRespondsTo
  427. #define InterfaceDef_somDispatch SOMObject_somDispatch
  428. #define InterfaceDef_somClassDispatch SOMObject_somClassDispatch
  429. #define InterfaceDef_somCastObj SOMObject_somCastObj
  430. #define InterfaceDef_somResetObj SOMObject_somResetObj
  431. #define InterfaceDef_somDispatchV SOMObject_somDispatchV
  432. #define InterfaceDef_somDispatchL SOMObject_somDispatchL
  433. #define InterfaceDef_somDispatchA SOMObject_somDispatchA
  434. #define InterfaceDef_somDispatchD SOMObject_somDispatchD
  435. #define InterfaceDef_somPrintSelf SOMObject_somPrintSelf
  436. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  437.  
  438. #endif       /* SOM_InterfaceDef_h */
  439.