home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / intfacdf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  15.3 KB  |  405 lines

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