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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: containd.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. #ifndef SOM_Contained_h
  11. #define SOM_Contained_h
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.h", "before"
  16.  */
  17.  
  18.     #include <somtcnst.h>
  19.     #include <stdio.h>
  20.     #include <somir.h>
  21.  
  22.     #define RepositoryId string
  23.     #define _IDL_SEQUENCE_RepositoryId _IDL_SEQUENCE_string
  24.     #define TC_Contained ((TypeCode) &TC__Contained)
  25.     typedef struct {TCKind t; long f; string s;} TC_Contained_td;
  26.     SOMEXTERN TC_Contained_td SOMDLINK TC__Contained;
  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 Contained
  42. #define Contained SOMObject
  43. #endif
  44. /*
  45.  *  CORBA 1.1, 7.5.1, p.130
  46.  * 
  47.  *  The Contained interface is the most generic form of interface
  48.  *  for the objects in the SOM CORBA-compliant Interface Repository (IR).
  49.  *  All objects contained in the IR inherit this interface.
  50.  */
  51. #include <somobj.h>
  52.  
  53. /*
  54.  * Start of bindings for IDL types
  55.  */
  56.  
  57. #ifndef SOMClass
  58.     #define SOMClass SOMObject
  59. #endif /* SOMClass */
  60. #ifndef Container
  61.     #define Container SOMObject
  62. #endif /* Container */
  63. typedef
  64. struct Contained_Description {
  65. Identifier name;
  66. any  value;
  67. } Contained_Description;
  68. struct somModifier;
  69. #ifndef _IDL_SEQUENCE_somModifier_defined
  70. #define _IDL_SEQUENCE_somModifier_defined
  71. typedef struct {
  72.     unsigned long _maximum;
  73.     unsigned long _length;
  74.     struct somModifier *_buffer;
  75. } _IDL_SEQUENCE_somModifier;
  76. #endif /* _IDL_SEQUENCE_somModifier_defined */ 
  77. #ifndef _IDL_SEQUENCE_Container_defined
  78. #define _IDL_SEQUENCE_Container_defined
  79. typedef struct {
  80.     unsigned long _maximum;
  81.     unsigned long _length;
  82.     Container **_buffer;
  83. } _IDL_SEQUENCE_Container;
  84. #endif /* _IDL_SEQUENCE_Container_defined */ 
  85.  
  86. #ifndef SOM_DONT_USE_SHORT_NAMES
  87. #ifndef SOMTGD_Description
  88.     #ifdef Description
  89.         #undef Description
  90.         #define SOMTGD_Description 1
  91.     #else
  92.         #define Description Contained_Description
  93.     #endif /* Description */
  94. #endif /* SOMTGD_Description */
  95. #endif /* SOM_DONT_USE_SHORT_NAMES */
  96.  
  97. /*
  98.  * End of bindings for IDL types.
  99.  */
  100.  
  101. #define Contained_MajorVersion 2
  102. #define Contained_MinorVersion 3
  103.  
  104. /*
  105.  * External name shortening if required
  106.  */
  107. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  108. #define ContainedNewClass c
  109. #pragma linkage(c, system)
  110. #define ContainedClassData d
  111. #define ContainedCClassData x
  112. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  113. /*--------------Migration------------*/
  114. #define Contained_classObj ContainedClassData.classObject
  115. #define _Contained Contained_classObj
  116.  
  117. /*
  118.  * Declare the class creation procedure
  119.  */
  120. SOMEXTERN SOMClass * SOMLINK ContainedNewClass(integer4 somtmajorVersion,
  121.         integer4 somtminorVersion);
  122. #pragma linkage(ContainedNewClass, system)
  123.  
  124. /*
  125.  * Declare the class data structure
  126.  */
  127. SOMEXTERN struct ContainedClassDataStructure {
  128.     SOMClass *classObject;
  129.     somMToken within;
  130.     somMToken describe;
  131.     somMToken _get_name;
  132.     somMToken _set_name;
  133.     somMToken _get_id;
  134.     somMToken _set_id;
  135.     somMToken _get_defined_in;
  136.     somMToken _set_defined_in;
  137.     somMToken _get_somModifiers;
  138.     somMToken _set_somModifiers;
  139. } SOMDLINK ContainedClassData;
  140.  
  141. /*
  142.  * Declare the C specific class data structure
  143.  */
  144. SOMEXTERN struct ContainedCClassDataStructure {
  145.     somMethodTabs parentMtab;
  146.     somDToken instanceDataToken;
  147. } SOMDLINK ContainedCClassData;
  148.  
  149. /*
  150.  * New and Renew macros for Contained
  151.  */
  152. #define ContainedNew() \
  153.    ( _Contained ? \
  154.     _somNew(_Contained) \
  155.     : ( ContainedNewClass(\
  156.         Contained_MajorVersion, \
  157.         Contained_MinorVersion),\
  158.        _somNew(_Contained)))
  159. #define ContainedRenew(buf) \
  160.    ( _Contained ? \
  161.     _somRenew(_Contained, buf) \
  162.     : ( ContainedNewClass(\
  163.         Contained_MajorVersion, \
  164.         Contained_MinorVersion),\
  165.        _somRenew(_Contained, buf)))
  166.  
  167. /*
  168.  * Override method: somFree
  169.  */
  170. #define Contained_somFree(somSelf) \
  171.     SOMObject_somFree(somSelf)
  172.  
  173. /*
  174.  * Override method: somDefaultInit
  175.  */
  176. #define Contained_somDefaultInit(somSelf,ctrl) \
  177.     SOMObject_somDefaultInit(somSelf,ctrl)
  178.  
  179. /*
  180.  * Override method: somDestruct
  181.  */
  182. #define Contained_somDestruct(somSelf,doFree,ctrl) \
  183.     SOMObject_somDestruct(somSelf,doFree,ctrl)
  184.  
  185. /*
  186.  * Override method: somDumpSelf
  187.  */
  188. #define Contained_somDumpSelf(somSelf,level) \
  189.     SOMObject_somDumpSelf(somSelf,level)
  190.  
  191. /*
  192.  * Override method: somDumpSelfInt
  193.  */
  194. #define Contained_somDumpSelfInt(somSelf,level) \
  195.     SOMObject_somDumpSelfInt(somSelf,level)
  196.  
  197. /*
  198.  * New Method: _get_name
  199.  */
  200. typedef Identifier   SOMLINK somTP_Contained__get_name(Contained *somSelf, Environment *ev);
  201. #pragma linkage(somTP_Contained__get_name, system)
  202. typedef somTP_Contained__get_name *somTD_Contained__get_name;
  203. /*
  204.  *  The value of the "name" field of the receiving object
  205.  * 
  206.  *  This is a simple name that indentifies the receiving object
  207.  *  within its containment hierarchy.  Outside of the containment
  208.  *  hierarchy this name is not necessarily unique, and may require
  209.  *  qualification by ModuleDef name, InterfaceDef name, etc.
  210.  */
  211. #define somMD_Contained__get_name "::Contained::_get_name"
  212. #define Contained__get_name(somSelf,ev) \
  213.     (SOM_Resolve(somSelf, Contained, _get_name) \
  214.     (somSelf,ev))
  215. #ifndef SOMGD_get_name
  216.     #if (defined(_get_name) || defined(__get_name))
  217.         #undef _get_name
  218.         #undef __get_name
  219.         #define SOMGD_get_name 1
  220.     #else
  221.         #define __get_name Contained__get_name
  222.     #endif /* __get_name */
  223. #endif /* SOMGD_get_name */
  224.  
  225. /*
  226.  * New Method: _set_name
  227.  */
  228. typedef void   SOMLINK somTP_Contained__set_name(Contained *somSelf, Environment *ev, 
  229.         Identifier name);
  230. #pragma linkage(somTP_Contained__set_name, system)
  231. typedef somTP_Contained__set_name *somTD_Contained__set_name;
  232. /*
  233.  *  The value of the "name" field of the receiving object
  234.  * 
  235.  *  This is a simple name that indentifies the receiving object
  236.  *  within its containment hierarchy.  Outside of the containment
  237.  *  hierarchy this name is not necessarily unique, and may require
  238.  *  qualification by ModuleDef name, InterfaceDef name, etc.
  239.  */
  240. #define somMD_Contained__set_name "::Contained::_set_name"
  241. #define Contained__set_name(somSelf,ev,name) \
  242.     (SOM_Resolve(somSelf, Contained, _set_name) \
  243.     (somSelf,ev,name))
  244. #ifndef SOMGD_set_name
  245.     #if (defined(_set_name) || defined(__set_name))
  246.         #undef _set_name
  247.         #undef __set_name
  248.         #define SOMGD_set_name 1
  249.     #else
  250.         #define __set_name Contained__set_name
  251.     #endif /* __set_name */
  252. #endif /* SOMGD_set_name */
  253.  
  254. /*
  255.  * New Method: _get_id
  256.  */
  257. typedef RepositoryId   SOMLINK somTP_Contained__get_id(Contained *somSelf, Environment *ev);
  258. #pragma linkage(somTP_Contained__get_id, system)
  259. typedef somTP_Contained__get_id *somTD_Contained__get_id;
  260. /*
  261.  *  The value of the "id" field of the receiving object
  262.  * 
  263.  *  The "id" is a string that uniquely identifies any object in
  264.  *  the interface repository.  No qualification is needed for
  265.  *  an "id".  Notice that "RepositoryId"s have no relationship
  266.  *  to the SOM type "somId".
  267.  */
  268. #define somMD_Contained__get_id "::Contained::_get_id"
  269. #define Contained__get_id(somSelf,ev) \
  270.     (SOM_Resolve(somSelf, Contained, _get_id) \
  271.     (somSelf,ev))
  272. #ifndef SOMGD_get_id
  273.     #if (defined(_get_id) || defined(__get_id))
  274.         #undef _get_id
  275.         #undef __get_id
  276.         #define SOMGD_get_id 1
  277.     #else
  278.         #define __get_id Contained__get_id
  279.     #endif /* __get_id */
  280. #endif /* SOMGD_get_id */
  281.  
  282. /*
  283.  * New Method: _set_id
  284.  */
  285. typedef void   SOMLINK somTP_Contained__set_id(Contained *somSelf, Environment *ev, 
  286.         RepositoryId id);
  287. #pragma linkage(somTP_Contained__set_id, system)
  288. typedef somTP_Contained__set_id *somTD_Contained__set_id;
  289. /*
  290.  *  The value of the "id" field of the receiving object
  291.  * 
  292.  *  The "id" is a string that uniquely identifies any object in
  293.  *  the interface repository.  No qualification is needed for
  294.  *  an "id".  Notice that "RepositoryId"s have no relationship
  295.  *  to the SOM type "somId".
  296.  */
  297. #define somMD_Contained__set_id "::Contained::_set_id"
  298. #define Contained__set_id(somSelf,ev,id) \
  299.     (SOM_Resolve(somSelf, Contained, _set_id) \
  300.     (somSelf,ev,id))
  301. #ifndef SOMGD_set_id
  302.     #if (defined(_set_id) || defined(__set_id))
  303.         #undef _set_id
  304.         #undef __set_id
  305.         #define SOMGD_set_id 1
  306.     #else
  307.         #define __set_id Contained__set_id
  308.     #endif /* __set_id */
  309. #endif /* SOMGD_set_id */
  310.  
  311. /*
  312.  * New Method: _get_defined_in
  313.  */
  314. typedef RepositoryId   SOMLINK somTP_Contained__get_defined_in(Contained *somSelf, Environment *ev);
  315. #pragma linkage(somTP_Contained__get_defined_in, system)
  316. typedef somTP_Contained__get_defined_in *somTD_Contained__get_defined_in;
  317. /*
  318.  *  The value of the "defined_in" field of the receiving object
  319.  * 
  320.  *  This "id" uniquely identifies the container where the
  321.  *  receiving object is defined.  Objects that have global scope
  322.  *  and do not appear within any other objects are by default
  323.  *  placed in the "Repository" object.
  324.  */
  325. #define somMD_Contained__get_defined_in "::Contained::_get_defined_in"
  326. #define Contained__get_defined_in(somSelf,ev) \
  327.     (SOM_Resolve(somSelf, Contained, _get_defined_in) \
  328.     (somSelf,ev))
  329. #ifndef SOMGD_get_defined_in
  330.     #if (defined(_get_defined_in) || defined(__get_defined_in))
  331.         #undef _get_defined_in
  332.         #undef __get_defined_in
  333.         #define SOMGD_get_defined_in 1
  334.     #else
  335.         #define __get_defined_in Contained__get_defined_in
  336.     #endif /* __get_defined_in */
  337. #endif /* SOMGD_get_defined_in */
  338.  
  339. /*
  340.  * New Method: _set_defined_in
  341.  */
  342. typedef void   SOMLINK somTP_Contained__set_defined_in(Contained *somSelf, Environment *ev, 
  343.         RepositoryId defined_in);
  344. #pragma linkage(somTP_Contained__set_defined_in, system)
  345. typedef somTP_Contained__set_defined_in *somTD_Contained__set_defined_in;
  346. /*
  347.  *  The value of the "defined_in" field of the receiving object
  348.  * 
  349.  *  This "id" uniquely identifies the container where the
  350.  *  receiving object is defined.  Objects that have global scope
  351.  *  and do not appear within any other objects are by default
  352.  *  placed in the "Repository" object.
  353.  */
  354. #define somMD_Contained__set_defined_in "::Contained::_set_defined_in"
  355. #define Contained__set_defined_in(somSelf,ev,defined_in) \
  356.     (SOM_Resolve(somSelf, Contained, _set_defined_in) \
  357.     (somSelf,ev,defined_in))
  358. #ifndef SOMGD_set_defined_in
  359.     #if (defined(_set_defined_in) || defined(__set_defined_in))
  360.         #undef _set_defined_in
  361.         #undef __set_defined_in
  362.         #define SOMGD_set_defined_in 1
  363.     #else
  364.         #define __set_defined_in Contained__set_defined_in
  365.     #endif /* __set_defined_in */
  366. #endif /* SOMGD_set_defined_in */
  367.  
  368. /*
  369.  * New Method: _get_somModifiers
  370.  */
  371. typedef _IDL_SEQUENCE_somModifier   SOMLINK somTP_Contained__get_somModifiers(Contained *somSelf, Environment *ev);
  372. #pragma linkage(somTP_Contained__get_somModifiers, system)
  373. typedef somTP_Contained__get_somModifiers *somTD_Contained__get_somModifiers;
  374. /*
  375.  *  [SOM-unique extension]
  376.  * 
  377.  *  The somModifiers attribute is a sequence containing all of
  378.  *  the "modifiers" attached to the corresponding IDL object in
  379.  *  the SOM-unique implementation section of the IDL file where
  380.  *  the receiving object was originally defined.
  381.  */
  382. #define somMD_Contained__get_somModifiers "::Contained::_get_somModifiers"
  383. #define Contained__get_somModifiers(somSelf,ev) \
  384.     (SOM_Resolve(somSelf, Contained, _get_somModifiers) \
  385.     (somSelf,ev))
  386. #ifndef SOMGD_get_somModifiers
  387.     #if (defined(_get_somModifiers) || defined(__get_somModifiers))
  388.         #undef _get_somModifiers
  389.         #undef __get_somModifiers
  390.         #define SOMGD_get_somModifiers 1
  391.     #else
  392.         #define __get_somModifiers Contained__get_somModifiers
  393.     #endif /* __get_somModifiers */
  394. #endif /* SOMGD_get_somModifiers */
  395.  
  396. /*
  397.  * New Method: _set_somModifiers
  398.  */
  399. typedef void   SOMLINK somTP_Contained__set_somModifiers(Contained *somSelf, Environment *ev, 
  400.         _IDL_SEQUENCE_somModifier* somModifiers);
  401. #pragma linkage(somTP_Contained__set_somModifiers, system)
  402. typedef somTP_Contained__set_somModifiers *somTD_Contained__set_somModifiers;
  403. /*
  404.  *  [SOM-unique extension]
  405.  * 
  406.  *  The somModifiers attribute is a sequence containing all of
  407.  *  the "modifiers" attached to the corresponding IDL object in
  408.  *  the SOM-unique implementation section of the IDL file where
  409.  *  the receiving object was originally defined.
  410.  */
  411. #define somMD_Contained__set_somModifiers "::Contained::_set_somModifiers"
  412. #define Contained__set_somModifiers(somSelf,ev,somModifiers) \
  413.     (SOM_Resolve(somSelf, Contained, _set_somModifiers) \
  414.     (somSelf,ev,somModifiers))
  415. #ifndef SOMGD_set_somModifiers
  416.     #if (defined(_set_somModifiers) || defined(__set_somModifiers))
  417.         #undef _set_somModifiers
  418.         #undef __set_somModifiers
  419.         #define SOMGD_set_somModifiers 1
  420.     #else
  421.         #define __set_somModifiers Contained__set_somModifiers
  422.     #endif /* __set_somModifiers */
  423. #endif /* SOMGD_set_somModifiers */
  424.  
  425. /*
  426.  * New Method: within
  427.  */
  428. typedef _IDL_SEQUENCE_Container   SOMLINK somTP_Contained_within(Contained *somSelf, Environment *ev);
  429. #pragma linkage(somTP_Contained_within, system)
  430. typedef somTP_Contained_within *somTD_Contained_within;
  431. /*
  432.  *  Returns a list of objects that contain the receiving object.
  433.  *  If the object is an interface or module, it can only be contained
  434.  *  by the object that defines it.  Other objects can be contained by
  435.  *  objects that define or inherit them.
  436.  * 
  437.  *  When you have finished using the sequence returned by this method
  438.  *  it is your responsibility to release the storage allocated for it.
  439.  *  To free the sequence, use a call similar to the following:
  440.  * 
  441.  *       if (seqname._length)
  442.  *           long i;
  443.  *           for(i=0; i<seqname._length; i++)
  444.  *         _somFree(seqname._buffer[i]);
  445.  *           SOMFree (seqname._buffer);
  446.  */
  447. #define somMD_Contained_within "::Contained::within"
  448. #define Contained_within(somSelf,ev) \
  449.     (SOM_Resolve(somSelf, Contained, within) \
  450.     (somSelf,ev))
  451. #ifndef SOMGD_within
  452.     #if (defined(_within) || defined(__within))
  453.         #undef _within
  454.         #undef __within
  455.         #define SOMGD_within 1
  456.     #else
  457.         #define _within Contained_within
  458.     #endif /* _within */
  459. #endif /* SOMGD_within */
  460.  
  461. /*
  462.  * New Method: describe
  463.  */
  464. typedef Contained_Description   SOMLINK somTP_Contained_describe(Contained *somSelf, Environment *ev);
  465. #pragma linkage(somTP_Contained_describe, system)
  466. typedef somTP_Contained_describe *somTD_Contained_describe;
  467. /*
  468.  *  Returns a structure containing all of the attributes defined in
  469.  *  the interface of the receiving object.
  470.  * 
  471.  *  Warning: this method returns pointers to things withing objects
  472.  *  (for example, name).  Don't use the somFree method to release
  473.  *  any of these objects while this information is still needed..
  474.  * 
  475.  *  When you have finished using the information in the returned
  476.  *  Description structure, it is your responsibility to release
  477.  *  the associated storage using a call similar to the following:
  478.  * 
  479.  *       if (desc.value._value)
  480.  *           SOMFree (desc.value._value);
  481.  */
  482. #define somMD_Contained_describe "::Contained::describe"
  483. #define Contained_describe(somSelf,ev) \
  484.     (SOM_Resolve(somSelf, Contained, describe) \
  485.     (somSelf,ev))
  486. #ifndef SOMGD_describe
  487.     #if (defined(_describe) || defined(__describe))
  488.         #undef _describe
  489.         #undef __describe
  490.         #define SOMGD_describe 1
  491.     #else
  492.         #define _describe Contained_describe
  493.     #endif /* _describe */
  494. #endif /* SOMGD_describe */
  495. #ifndef SOM_DONT_USE_INHERITED_MACROS
  496. #define Contained_somDefaultCopyInit SOMObject_somDefaultCopyInit
  497. #define Contained_somDefaultAssign SOMObject_somDefaultAssign
  498. #define Contained_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  499. #define Contained_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  500. #define Contained_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  501. #define Contained_somDefaultConstAssign SOMObject_somDefaultConstAssign
  502. #define Contained_somDefaultVAssign SOMObject_somDefaultVAssign
  503. #define Contained_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  504. #define Contained_somInit SOMObject_somInit
  505. #define Contained_somUninit SOMObject_somUninit
  506. #define Contained_somGetClass SOMObject_somGetClass
  507. #define Contained_somGetClassName SOMObject_somGetClassName
  508. #define Contained_somGetSize SOMObject_somGetSize
  509. #define Contained_somIsA SOMObject_somIsA
  510. #define Contained_somIsInstanceOf SOMObject_somIsInstanceOf
  511. #define Contained_somRespondsTo SOMObject_somRespondsTo
  512. #define Contained_somDispatch SOMObject_somDispatch
  513. #define Contained_somClassDispatch SOMObject_somClassDispatch
  514. #define Contained_somCastObj SOMObject_somCastObj
  515. #define Contained_somResetObj SOMObject_somResetObj
  516. #define Contained_somDispatchV SOMObject_somDispatchV
  517. #define Contained_somDispatchL SOMObject_somDispatchL
  518. #define Contained_somDispatchA SOMObject_somDispatchA
  519. #define Contained_somDispatchD SOMObject_somDispatchD
  520. #define Contained_somPrintSelf SOMObject_somPrintSelf
  521. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  522.  
  523. #endif       /* SOM_Contained_h */
  524.