home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / constdef.xh < prev    next >
Text File  |  1999-02-22  |  31KB  |  1,043 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: constdef.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ConstantDef_xh
  11. #define SOM_ConstantDef_xh
  12.  
  13. class ConstantDef;
  14.  
  15. /*
  16.  *  This interface is used to access information associated with
  17.  *  constants defined in an IDL file.
  18.  * 
  19.  *  See CORBA 1.1, 7.5.9, p.137
  20.  */
  21.  
  22. #define ConstantDef_MajorVersion 2
  23. #define ConstantDef_MinorVersion 3
  24.  
  25. /*
  26.  * Passthru lines: File: "C.xh", "before"
  27.  */
  28.  
  29.     #include <somtcnst.xh>
  30.     #include <somir.xh>
  31.     #include <containd.xh>
  32.  
  33.  
  34. /* C++ SOM defs */
  35. #include <somcls.xh>
  36. #include <somcm.xh>
  37.  
  38. /* C++ parent defs */
  39. #ifndef SOM_Contained_xh
  40. #include <containd.xh>
  41. #endif
  42.  
  43. #ifndef ConstantDef_API
  44. #define ConstantDef_API
  45. /*
  46.  * -- The Class API
  47.  */
  48.  
  49. /*
  50.  * Start of bindings for IDL types
  51.  */
  52.  
  53. class SOMClass;
  54. class SOMObject;
  55. class Container;
  56. typedef
  57. struct ConstantDef_ConstantDescription {
  58. Identifier name;
  59. RepositoryId id;
  60. RepositoryId defined_in;
  61. TypeCode type;
  62. any  value;
  63. } ConstantDef_ConstantDescription;
  64. /*
  65.  *  The inherited describe method returns an instance of this
  66.  *  (ConstantDescription) structure in the "value" member of the
  67.  *  Description structure defined in the Contained interface.
  68.  */
  69.  
  70.  
  71. #ifndef SOM_DONT_USE_SHORT_NAMES
  72. #ifndef SOMTGD_ConstantDescription
  73.     #ifdef ConstantDescription
  74.         #undef ConstantDescription
  75.         #define SOMTGD_ConstantDescription 1
  76.     #else
  77.         #define ConstantDescription ConstantDef_ConstantDescription
  78.     #endif /* ConstantDescription */
  79. #endif /* SOMTGD_ConstantDescription */
  80. #endif /* SOM_DONT_USE_SHORT_NAMES */
  81.  
  82. /*
  83.  * End of bindings for IDL types.
  84.  */
  85.  
  86. /* A procedure to create the ConstantDef Class */
  87. SOMEXTERN SOMClass * SOMLINK ConstantDefNewClass(
  88.         integer4 majorVersion,
  89.         integer4 minorVersion);
  90.  
  91. /* The API to the ConstantDef class object, and the methods it introduces. */
  92. SOMEXTERN struct ConstantDefClassDataStructure {
  93.     SOMClass *classObject;
  94.     somMToken _get_type;
  95.     somMToken _set_type;
  96.     somMToken _get_value;
  97.     somMToken _set_value;
  98. } SOMDLINK ConstantDefClassData;
  99. #define _ConstantDef ConstantDefClassData.classObject
  100.  
  101. /* The API to parentMtabs for ConstantDef, and the instance data it introduces. */
  102. SOMEXTERN struct ConstantDefCClassDataStructure {
  103.     somMethodTabs parentMtab;
  104.     somDToken              instanceDataToken;
  105. } SOMDLINK ConstantDefCClassData;
  106.  
  107. /*
  108.  * -- Typedefs for ConstantDef Method Procedures
  109.  */
  110. SOMEXTERN {
  111. typedef TypeCode   SOMLINK somTP_ConstantDef__get_type(ConstantDef *somSelf, Environment *ev);
  112. typedef somTP_ConstantDef__get_type *somTD_ConstantDef__get_type;
  113. typedef void   SOMLINK somTP_ConstantDef__set_type(ConstantDef *somSelf, Environment *ev, 
  114.         TypeCode type);
  115. typedef somTP_ConstantDef__set_type *somTD_ConstantDef__set_type;
  116. typedef any   SOMLINK somTP_ConstantDef__get_value(ConstantDef *somSelf, Environment *ev);
  117. typedef somTP_ConstantDef__get_value *somTD_ConstantDef__get_value;
  118. typedef void   SOMLINK somTP_ConstantDef__set_value(ConstantDef *somSelf, Environment *ev, 
  119.         any* value);
  120. typedef somTP_ConstantDef__set_value *somTD_ConstantDef__set_value;
  121.  
  122. /*
  123.  * -- Typedefs for Reintroduced Wrapper Methods
  124.  */
  125. typedef Identifier   SOMLINK somTP_ConstantDef__get_name(ConstantDef *somSelf, Environment *ev);
  126. typedef somTP_ConstantDef__get_name *somTD_ConstantDef__get_name;
  127. typedef void   SOMLINK somTP_ConstantDef__set_name(ConstantDef *somSelf, Environment *ev, 
  128.         Identifier name);
  129. typedef somTP_ConstantDef__set_name *somTD_ConstantDef__set_name;
  130. typedef RepositoryId   SOMLINK somTP_ConstantDef__get_id(ConstantDef *somSelf, Environment *ev);
  131. typedef somTP_ConstantDef__get_id *somTD_ConstantDef__get_id;
  132. typedef void   SOMLINK somTP_ConstantDef__set_id(ConstantDef *somSelf, Environment *ev, 
  133.         RepositoryId id);
  134. typedef somTP_ConstantDef__set_id *somTD_ConstantDef__set_id;
  135. typedef RepositoryId   SOMLINK somTP_ConstantDef__get_defined_in(ConstantDef *somSelf, Environment *ev);
  136. typedef somTP_ConstantDef__get_defined_in *somTD_ConstantDef__get_defined_in;
  137. typedef void   SOMLINK somTP_ConstantDef__set_defined_in(ConstantDef *somSelf, Environment *ev, 
  138.         RepositoryId defined_in);
  139. typedef somTP_ConstantDef__set_defined_in *somTD_ConstantDef__set_defined_in;
  140. typedef _IDL_SEQUENCE_somModifier   SOMLINK somTP_ConstantDef__get_somModifiers(ConstantDef *somSelf, Environment *ev);
  141. typedef somTP_ConstantDef__get_somModifiers *somTD_ConstantDef__get_somModifiers;
  142. typedef void   SOMLINK somTP_ConstantDef__set_somModifiers(ConstantDef *somSelf, Environment *ev, 
  143.         _IDL_SEQUENCE_somModifier* somModifiers);
  144. typedef somTP_ConstantDef__set_somModifiers *somTD_ConstantDef__set_somModifiers;
  145. typedef _IDL_SEQUENCE_Container   SOMLINK somTP_ConstantDef_within(ConstantDef *somSelf, Environment *ev);
  146. typedef somTP_ConstantDef_within *somTD_ConstantDef_within;
  147. typedef Contained_Description   SOMLINK somTP_ConstantDef_describe(ConstantDef *somSelf, Environment *ev);
  148. typedef somTP_ConstantDef_describe *somTD_ConstantDef_describe;
  149. typedef void   SOMLINK somTP_ConstantDef_somFree(ConstantDef *somSelf);
  150. typedef somTP_ConstantDef_somFree *somTD_ConstantDef_somFree;
  151. typedef void   SOMLINK somTP_ConstantDef_somDefaultInit(ConstantDef *somSelf, 
  152.         som3InitCtrl* ctrl);
  153. typedef somTP_ConstantDef_somDefaultInit *somTD_ConstantDef_somDefaultInit;
  154. typedef void   SOMLINK somTP_ConstantDef_somDestruct(ConstantDef *somSelf, 
  155.         octet doFree, 
  156.         som3DestructCtrl* ctrl);
  157. typedef somTP_ConstantDef_somDestruct *somTD_ConstantDef_somDestruct;
  158. typedef void   SOMLINK somTP_ConstantDef_somDumpSelf(ConstantDef *somSelf, 
  159.         long level);
  160. typedef somTP_ConstantDef_somDumpSelf *somTD_ConstantDef_somDumpSelf;
  161. typedef void   SOMLINK somTP_ConstantDef_somDumpSelfInt(ConstantDef *somSelf, 
  162.         long level);
  163. typedef somTP_ConstantDef_somDumpSelfInt *somTD_ConstantDef_somDumpSelfInt;
  164. typedef void   SOMLINK somTP_ConstantDef_somDefaultCopyInit(ConstantDef *somSelf, 
  165.         som3InitCtrl* ctrl, 
  166.         SOMObject* fromObj);
  167. typedef somTP_ConstantDef_somDefaultCopyInit *somTD_ConstantDef_somDefaultCopyInit;
  168. typedef ConstantDef*   SOMLINK somTP_ConstantDef_somDefaultAssign(ConstantDef *somSelf, 
  169.         som3AssignCtrl* ctrl, 
  170.         SOMObject* fromObj);
  171. typedef somTP_ConstantDef_somDefaultAssign *somTD_ConstantDef_somDefaultAssign;
  172. typedef void   SOMLINK somTP_ConstantDef_somDefaultConstCopyInit(ConstantDef *somSelf, 
  173.         som3InitCtrl* ctrl, 
  174.         SOMObject* fromObj);
  175. typedef somTP_ConstantDef_somDefaultConstCopyInit *somTD_ConstantDef_somDefaultConstCopyInit;
  176. typedef void   SOMLINK somTP_ConstantDef_somDefaultVCopyInit(ConstantDef *somSelf, 
  177.         som3InitCtrl* ctrl, 
  178.         SOMObject* fromObj);
  179. typedef somTP_ConstantDef_somDefaultVCopyInit *somTD_ConstantDef_somDefaultVCopyInit;
  180. typedef void   SOMLINK somTP_ConstantDef_somDefaultConstVCopyInit(ConstantDef *somSelf, 
  181.         som3InitCtrl* ctrl, 
  182.         SOMObject* fromObj);
  183. typedef somTP_ConstantDef_somDefaultConstVCopyInit *somTD_ConstantDef_somDefaultConstVCopyInit;
  184. typedef ConstantDef*   SOMLINK somTP_ConstantDef_somDefaultConstAssign(ConstantDef *somSelf, 
  185.         som3AssignCtrl* ctrl, 
  186.         SOMObject* fromObj);
  187. typedef somTP_ConstantDef_somDefaultConstAssign *somTD_ConstantDef_somDefaultConstAssign;
  188. typedef ConstantDef*   SOMLINK somTP_ConstantDef_somDefaultVAssign(ConstantDef *somSelf, 
  189.         som3AssignCtrl* ctrl, 
  190.         SOMObject* fromObj);
  191. typedef somTP_ConstantDef_somDefaultVAssign *somTD_ConstantDef_somDefaultVAssign;
  192. typedef ConstantDef*   SOMLINK somTP_ConstantDef_somDefaultConstVAssign(ConstantDef *somSelf, 
  193.         som3AssignCtrl* ctrl, 
  194.         SOMObject* fromObj);
  195. typedef somTP_ConstantDef_somDefaultConstVAssign *somTD_ConstantDef_somDefaultConstVAssign;
  196. typedef void   SOMLINK somTP_ConstantDef_somInit(ConstantDef *somSelf);
  197. typedef somTP_ConstantDef_somInit *somTD_ConstantDef_somInit;
  198. typedef void   SOMLINK somTP_ConstantDef_somUninit(ConstantDef *somSelf);
  199. typedef somTP_ConstantDef_somUninit *somTD_ConstantDef_somUninit;
  200. typedef SOMClass*   SOMLINK somTP_ConstantDef_somGetClass(ConstantDef *somSelf);
  201. typedef somTP_ConstantDef_somGetClass *somTD_ConstantDef_somGetClass;
  202. typedef string   SOMLINK somTP_ConstantDef_somGetClassName(ConstantDef *somSelf);
  203. typedef somTP_ConstantDef_somGetClassName *somTD_ConstantDef_somGetClassName;
  204. typedef long   SOMLINK somTP_ConstantDef_somGetSize(ConstantDef *somSelf);
  205. typedef somTP_ConstantDef_somGetSize *somTD_ConstantDef_somGetSize;
  206. typedef boolean   SOMLINK somTP_ConstantDef_somIsA(ConstantDef *somSelf, 
  207.         SOMClass* aClassObj);
  208. typedef somTP_ConstantDef_somIsA *somTD_ConstantDef_somIsA;
  209. typedef boolean   SOMLINK somTP_ConstantDef_somIsInstanceOf(ConstantDef *somSelf, 
  210.         SOMClass* aClassObj);
  211. typedef somTP_ConstantDef_somIsInstanceOf *somTD_ConstantDef_somIsInstanceOf;
  212. typedef boolean   SOMLINK somTP_ConstantDef_somRespondsTo(ConstantDef *somSelf, 
  213.         somId mId);
  214. typedef somTP_ConstantDef_somRespondsTo *somTD_ConstantDef_somRespondsTo;
  215. typedef boolean   SOMLINK somTP_ConstantDef_somDispatch(ConstantDef *somSelf, 
  216.         somToken* retValue, 
  217.         somId methodId, 
  218.         va_list ap);
  219. typedef somTP_ConstantDef_somDispatch *somTD_ConstantDef_somDispatch;
  220. typedef boolean   SOMLINK somTP_ConstantDef_somClassDispatch(ConstantDef *somSelf, 
  221.         SOMClass* clsObj, 
  222.         somToken* retValue, 
  223.         somId methodId, 
  224.         va_list ap);
  225. typedef somTP_ConstantDef_somClassDispatch *somTD_ConstantDef_somClassDispatch;
  226. typedef boolean   SOMLINK somTP_ConstantDef_somCastObj(ConstantDef *somSelf, 
  227.         SOMClass* cls);
  228. typedef somTP_ConstantDef_somCastObj *somTD_ConstantDef_somCastObj;
  229. typedef boolean   SOMLINK somTP_ConstantDef_somResetObj(ConstantDef *somSelf);
  230. typedef somTP_ConstantDef_somResetObj *somTD_ConstantDef_somResetObj;
  231. typedef void   SOMLINK somTP_ConstantDef_somDispatchV(ConstantDef *somSelf, 
  232.         somId methodId, 
  233.         somId descriptor, 
  234.         va_list ap);
  235. typedef somTP_ConstantDef_somDispatchV *somTD_ConstantDef_somDispatchV;
  236. typedef long   SOMLINK somTP_ConstantDef_somDispatchL(ConstantDef *somSelf, 
  237.         somId methodId, 
  238.         somId descriptor, 
  239.         va_list ap);
  240. typedef somTP_ConstantDef_somDispatchL *somTD_ConstantDef_somDispatchL;
  241. typedef void*   SOMLINK somTP_ConstantDef_somDispatchA(ConstantDef *somSelf, 
  242.         somId methodId, 
  243.         somId descriptor, 
  244.         va_list ap);
  245. typedef somTP_ConstantDef_somDispatchA *somTD_ConstantDef_somDispatchA;
  246. typedef double   SOMLINK somTP_ConstantDef_somDispatchD(ConstantDef *somSelf, 
  247.         somId methodId, 
  248.         somId descriptor, 
  249.         va_list ap);
  250. typedef somTP_ConstantDef_somDispatchD *somTD_ConstantDef_somDispatchD;
  251. typedef SOMObject*   SOMLINK somTP_ConstantDef_somPrintSelf(ConstantDef *somSelf);
  252. typedef somTP_ConstantDef_somPrintSelf *somTD_ConstantDef_somPrintSelf;
  253. }
  254.  
  255. #endif /* ConstantDef_API */
  256.  
  257.  
  258. /*
  259.  * -- This emitter treats Method Tokens as Thunks by default.
  260.  * -- Use the sc modifier "nothunks" to change this default
  261.  */
  262. #undef somresolve_
  263. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  264.  
  265. /*
  266.  * -- The C++ Wrapper Class for ConstantDef
  267.  */
  268. class ConstantDef : public Contained
  269. {
  270. /*
  271.  *  This interface is used to access information associated with
  272.  *  constants defined in an IDL file.
  273.  * 
  274.  *  See CORBA 1.1, 7.5.9, p.137
  275.  */
  276. public:
  277.  
  278. // ConstantDef::new creates the class object if necessary, and then uses somNewNoInit
  279. // to allocate memory and create the object. Initialization is in ctors.
  280. void *operator new(size_t)
  281. {
  282.    if (!_ConstantDef) ConstantDefNewClass(ConstantDef_MajorVersion,ConstantDef_MinorVersion);
  283.    return (void*)
  284.       SOM_Resolve(_ConstantDef,SOMClass,somNewNoInit)
  285.          ((SOMClass *)((void*)_ConstantDef));
  286. }
  287.  
  288. // ConstantDef::delete uses somDestruct.
  289. void operator delete(void * obj)
  290. {
  291.    if (obj && *(void**)obj) {
  292.       SOM_Resolve(obj,SOMObject,somFree)
  293.          ((SOMObject*)obj);
  294.    }
  295. }
  296.  
  297. ConstantDef& operator=(ConstantDef& fromObj)
  298. {
  299.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  300.    return *this;
  301. }
  302.  
  303. ConstantDef()
  304. {
  305.    if (*(void**)this != 
  306.        ((somParentMtabStructPtr)
  307.         (ConstantDefCClassData.parentMtab))->mtab)
  308.       return;
  309.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  310. }
  311.  
  312. ConstantDef(ConstantDef* fromObj)
  313. {
  314.    if (*(void**)this != 
  315.        ((somParentMtabStructPtr)
  316.         (ConstantDefCClassData.parentMtab))->mtab)
  317.       return;
  318.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  319. }
  320.  
  321. #ifdef __IBMCPP__
  322. #pragma info(nocnv,nopar)
  323. #endif
  324. ConstantDef(const ConstantDef* fromObj)
  325. {
  326.    if (*(void**)this != 
  327.        ((somParentMtabStructPtr)
  328.         (ConstantDefCClassData.parentMtab))->mtab)
  329.       return;
  330.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  331. }
  332. #ifdef __IBMCPP__
  333. #pragma info(restore)
  334. #endif
  335.  
  336.  
  337. /* method: _get_type */
  338. TypeCode   _get_type(Environment *ev)
  339. {
  340. /*
  341.  *  The TypeCode of the receiving object.  The memory used to hold
  342.  *  the TypeCode is contained in the receiving object, which retains
  343.  *  ownership.  Hence, do not free the returned TypeCode.  If you want
  344.  *  to obtain a separate copy, use the TypeCode_copy operation.
  345.  */
  346.    return SOM_ResolveD(this,ConstantDef,ConstantDef,_get_type)
  347.     (this, ev);
  348. }
  349.  
  350.  
  351. /* method: _set_type */
  352. void   _set_type(Environment *ev, 
  353.         TypeCode type)
  354. {
  355. /*
  356.  *  The TypeCode of the receiving object.  The memory used to hold
  357.  *  the TypeCode is contained in the receiving object, which retains
  358.  *  ownership.  Hence, do not free the returned TypeCode.  If you want
  359.  *  to obtain a separate copy, use the TypeCode_copy operation.
  360.  */
  361.    SOM_ResolveD(this,ConstantDef,ConstantDef,_set_type)
  362.     (this, ev,type);
  363. }
  364.  
  365.  
  366. /* method: _get_value */
  367. any   _get_value(Environment *ev)
  368. {
  369. /*
  370.  *  The value of the receiving constant object;
  371.  *  "value" is an any carrying a string per CORBA 7.5.9 p. 123
  372.  */
  373.    return SOM_ResolveD(this,ConstantDef,ConstantDef,_get_value)
  374.     (this, ev);
  375. }
  376.  
  377.  
  378. /* method: _set_value */
  379. void   _set_value(Environment *ev, 
  380.         any* value)
  381. {
  382. /*
  383.  *  The value of the receiving constant object;
  384.  *  "value" is an any carrying a string per CORBA 7.5.9 p. 123
  385.  */
  386.    SOM_ResolveD(this,ConstantDef,ConstantDef,_set_value)
  387.     (this, ev,value);
  388. }
  389.  
  390.  
  391. /*
  392.  * Reintroduce inherited methods
  393.  */
  394.  
  395. /* method: _get_name */
  396. Identifier   _get_name(Environment *ev)
  397. {
  398. /*
  399.  *  The value of the "name" field of the receiving object
  400.  * 
  401.  *  This is a simple name that indentifies the receiving object
  402.  *  within its containment hierarchy.  Outside of the containment
  403.  *  hierarchy this name is not necessarily unique, and may require
  404.  *  qualification by ModuleDef name, InterfaceDef name, etc.
  405.  */
  406.    return SOM_ResolveD(this,ConstantDef,Contained,_get_name)
  407.     (this, ev);
  408. }
  409.  
  410.  
  411. /* method: _set_name */
  412. void   _set_name(Environment *ev, 
  413.         Identifier name)
  414. {
  415. /*
  416.  *  The value of the "name" field of the receiving object
  417.  * 
  418.  *  This is a simple name that indentifies the receiving object
  419.  *  within its containment hierarchy.  Outside of the containment
  420.  *  hierarchy this name is not necessarily unique, and may require
  421.  *  qualification by ModuleDef name, InterfaceDef name, etc.
  422.  */
  423.    SOM_ResolveD(this,ConstantDef,Contained,_set_name)
  424.     (this, ev,name);
  425. }
  426.  
  427.  
  428. /* method: _get_id */
  429. RepositoryId   _get_id(Environment *ev)
  430. {
  431. /*
  432.  *  The value of the "id" field of the receiving object
  433.  * 
  434.  *  The "id" is a string that uniquely identifies any object in
  435.  *  the interface repository.  No qualification is needed for
  436.  *  an "id".  Notice that "RepositoryId"s have no relationship
  437.  *  to the SOM type "somId".
  438.  */
  439.    return SOM_ResolveD(this,ConstantDef,Contained,_get_id)
  440.     (this, ev);
  441. }
  442.  
  443.  
  444. /* method: _set_id */
  445. void   _set_id(Environment *ev, 
  446.         RepositoryId id)
  447. {
  448. /*
  449.  *  The value of the "id" field of the receiving object
  450.  * 
  451.  *  The "id" is a string that uniquely identifies any object in
  452.  *  the interface repository.  No qualification is needed for
  453.  *  an "id".  Notice that "RepositoryId"s have no relationship
  454.  *  to the SOM type "somId".
  455.  */
  456.    SOM_ResolveD(this,ConstantDef,Contained,_set_id)
  457.     (this, ev,id);
  458. }
  459.  
  460.  
  461. /* method: _get_defined_in */
  462. RepositoryId   _get_defined_in(Environment *ev)
  463. {
  464. /*
  465.  *  The value of the "defined_in" field of the receiving object
  466.  * 
  467.  *  This "id" uniquely identifies the container where the
  468.  *  receiving object is defined.  Objects that have global scope
  469.  *  and do not appear within any other objects are by default
  470.  *  placed in the "Repository" object.
  471.  */
  472.    return SOM_ResolveD(this,ConstantDef,Contained,_get_defined_in)
  473.     (this, ev);
  474. }
  475.  
  476.  
  477. /* method: _set_defined_in */
  478. void   _set_defined_in(Environment *ev, 
  479.         RepositoryId defined_in)
  480. {
  481. /*
  482.  *  The value of the "defined_in" field of the receiving object
  483.  * 
  484.  *  This "id" uniquely identifies the container where the
  485.  *  receiving object is defined.  Objects that have global scope
  486.  *  and do not appear within any other objects are by default
  487.  *  placed in the "Repository" object.
  488.  */
  489.    SOM_ResolveD(this,ConstantDef,Contained,_set_defined_in)
  490.     (this, ev,defined_in);
  491. }
  492.  
  493.  
  494. /* method: _get_somModifiers */
  495. _IDL_SEQUENCE_somModifier   _get_somModifiers(Environment *ev)
  496. {
  497. /*
  498.  *  [SOM-unique extension]
  499.  * 
  500.  *  The somModifiers attribute is a sequence containing all of
  501.  *  the "modifiers" attached to the corresponding IDL object in
  502.  *  the SOM-unique implementation section of the IDL file where
  503.  *  the receiving object was originally defined.
  504.  */
  505.    return SOM_ResolveD(this,ConstantDef,Contained,_get_somModifiers)
  506.     (this, ev);
  507. }
  508.  
  509.  
  510. /* method: _set_somModifiers */
  511. void   _set_somModifiers(Environment *ev, 
  512.         _IDL_SEQUENCE_somModifier* somModifiers)
  513. {
  514. /*
  515.  *  [SOM-unique extension]
  516.  * 
  517.  *  The somModifiers attribute is a sequence containing all of
  518.  *  the "modifiers" attached to the corresponding IDL object in
  519.  *  the SOM-unique implementation section of the IDL file where
  520.  *  the receiving object was originally defined.
  521.  */
  522.    SOM_ResolveD(this,ConstantDef,Contained,_set_somModifiers)
  523.     (this, ev,somModifiers);
  524. }
  525.  
  526.  
  527. /* method: within */
  528. _IDL_SEQUENCE_Container   within(Environment *ev)
  529. {
  530. /*
  531.  *  Returns a list of objects that contain the receiving object.
  532.  *  If the object is an interface or module, it can only be contained
  533.  *  by the object that defines it.  Other objects can be contained by
  534.  *  objects that define or inherit them.
  535.  * 
  536.  *  When you have finished using the sequence returned by this method
  537.  *  it is your responsibility to release the storage allocated for it.
  538.  *  To free the sequence, use a call similar to the following:
  539.  * 
  540.  *       if (seqname._length)
  541.  *           long i;
  542.  *           for(i=0; i<seqname._length; i++)
  543.  *         _somFree(seqname._buffer[i]);
  544.  *           SOMFree (seqname._buffer);
  545.  */
  546.    return SOM_ResolveD(this,ConstantDef,Contained,within)
  547.     (this, ev);
  548. }
  549.  
  550.  
  551. /* method: describe */
  552. Contained_Description   describe(Environment *ev)
  553. {
  554. /*
  555.  *  Returns a structure containing all of the attributes defined in
  556.  *  the interface of the receiving object.
  557.  * 
  558.  *  Warning: this method returns pointers to things withing objects
  559.  *  (for example, name).  Don't use the somFree method to release
  560.  *  any of these objects while this information is still needed..
  561.  * 
  562.  *  When you have finished using the information in the returned
  563.  *  Description structure, it is your responsibility to release
  564.  *  the associated storage using a call similar to the following:
  565.  * 
  566.  *       if (desc.value._value)
  567.  *           SOMFree (desc.value._value);
  568.  */
  569.    return SOM_ResolveD(this,ConstantDef,Contained,describe)
  570.     (this, ev);
  571. }
  572.  
  573.  
  574. /* method: somFree */
  575. void   somFree()
  576. {
  577.    SOM_ResolveD(this,ConstantDef,SOMObject,somFree)
  578.     (this);
  579. }
  580.  
  581.  
  582. /* initializer method: somDefaultInit */
  583. void   somDefaultInit(som3InitCtrl* ctrl)
  584. {
  585.    SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultInit)
  586.     (this,ctrl);
  587. }
  588.  
  589.  
  590. /* method: somDestruct */
  591. void   somDestruct(octet doFree, 
  592.         som3DestructCtrl* ctrl)
  593. {
  594.    SOM_ResolveD(this,ConstantDef,SOMObject,somDestruct)
  595.     (this,doFree,ctrl);
  596. }
  597.  
  598.  
  599. /* method: somDumpSelf */
  600. void   somDumpSelf(long level)
  601. {
  602.    SOM_ResolveD(this,ConstantDef,SOMObject,somDumpSelf)
  603.     (this,level);
  604. }
  605.  
  606.  
  607. /* method: somDumpSelfInt */
  608. void   somDumpSelfInt(long level)
  609. {
  610.    SOM_ResolveD(this,ConstantDef,SOMObject,somDumpSelfInt)
  611.     (this,level);
  612. }
  613.  
  614.  
  615. /* initializer method: somDefaultCopyInit */
  616. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  617.         SOMObject* fromObj)
  618. {
  619. /*
  620.  *  A default copy constructor. Use this to make copies of objects for
  621.  *  calling methods with "by-value" argument semantics.
  622.  */
  623.    SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultCopyInit)
  624.     (this,ctrl,fromObj);
  625. }
  626.  
  627.  
  628. /* method: somDefaultAssign */
  629. ConstantDef*  somDefaultAssign(som3AssignCtrl* ctrl, 
  630.         SOMObject* fromObj)
  631. {
  632. /*
  633.  *  A default assignment operator. Use this to "assign" the state of one
  634.  *  object to another.
  635.  */
  636.    return SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultAssign)
  637.     (this,ctrl,fromObj);
  638. }
  639.  
  640.  
  641. /* initializer method: somDefaultConstCopyInit */
  642. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  643.         SOMObject* fromObj)
  644. {
  645. /*
  646.  *  A default copy constructor that uses a const fromObj.
  647.  */
  648.    SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultConstCopyInit)
  649.     (this,ctrl,fromObj);
  650. }
  651.  
  652.  
  653. /* initializer method: somDefaultVCopyInit */
  654. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  655.         SOMObject* fromObj)
  656. {
  657. /*
  658.  *  A default copy constructor that uses a volatile fromObj.
  659.  */
  660.    SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultVCopyInit)
  661.     (this,ctrl,fromObj);
  662. }
  663.  
  664.  
  665. /* initializer method: somDefaultConstVCopyInit */
  666. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  667.         SOMObject* fromObj)
  668. {
  669. /*
  670.  *  A default copy constructor that uses a const volatile fromObj.
  671.  */
  672.    SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultConstVCopyInit)
  673.     (this,ctrl,fromObj);
  674. }
  675.  
  676.  
  677. /* method: somDefaultConstAssign */
  678. ConstantDef*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  679.         SOMObject* fromObj)
  680. {
  681. /*
  682.  *  A default assignment operator that uses a const fromObj.
  683.  */
  684.    return SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultConstAssign)
  685.     (this,ctrl,fromObj);
  686. }
  687.  
  688.  
  689. /* method: somDefaultVAssign */
  690. ConstantDef*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  691.         SOMObject* fromObj)
  692. {
  693. /*
  694.  *  A default assignment operator that uses a volatile fromObj.
  695.  */
  696.    return SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultVAssign)
  697.     (this,ctrl,fromObj);
  698. }
  699.  
  700.  
  701. /* method: somDefaultConstVAssign */
  702. ConstantDef*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  703.         SOMObject* fromObj)
  704. {
  705. /*
  706.  *  A default assignment operator that uses a const volatile fromObj.
  707.  */
  708.    return SOM_ResolveD(this,ConstantDef,SOMObject,somDefaultConstVAssign)
  709.     (this,ctrl,fromObj);
  710. }
  711.  
  712.  
  713. /* method: somInit */
  714. void   somInit()
  715. {
  716. /*
  717.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  718.  */
  719.    SOM_ResolveD(this,ConstantDef,SOMObject,somInit)
  720.     (this);
  721. }
  722.  
  723.  
  724. /* method: somUninit */
  725. void   somUninit()
  726. {
  727. /*
  728.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  729.  */
  730.    SOM_ResolveD(this,ConstantDef,SOMObject,somUninit)
  731.     (this);
  732. }
  733.  
  734.  
  735. /* method: somGetClass */
  736. SOMClass*   somGetClass()
  737. {
  738. /*
  739.  *  Return the receiver's class.
  740.  */
  741.    return SOM_ResolveD(this,ConstantDef,SOMObject,somGetClass)
  742.     (this);
  743. }
  744.  
  745.  
  746. /* method: somGetClassName */
  747. string   somGetClassName()
  748. {
  749. /*
  750.  *  Return the name of the receiver's class.
  751.  */
  752.    return SOM_ResolveD(this,ConstantDef,SOMObject,somGetClassName)
  753.     (this);
  754. }
  755.  
  756.  
  757. /* method: somGetSize */
  758. long   somGetSize()
  759. {
  760. /*
  761.  *  Return the size of the receiver.
  762.  */
  763.    return SOM_ResolveD(this,ConstantDef,SOMObject,somGetSize)
  764.     (this);
  765. }
  766.  
  767.  
  768. /* method: somIsA */
  769. boolean   somIsA(SOMClass* aClassObj)
  770. {
  771. /*
  772.  *  Returns 1 (true) if the receiver responds to methods
  773.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  774.  */
  775.    return SOM_ResolveD(this,ConstantDef,SOMObject,somIsA)
  776.     (this,aClassObj);
  777. }
  778.  
  779.  
  780. /* method: somIsInstanceOf */
  781. boolean   somIsInstanceOf(SOMClass* aClassObj)
  782. {
  783. /*
  784.  *  Returns 1 (true) if the receiver is an instance of
  785.  *  <aClassObj> and 0 (false) otherwise.
  786.  */
  787.    return SOM_ResolveD(this,ConstantDef,SOMObject,somIsInstanceOf)
  788.     (this,aClassObj);
  789. }
  790.  
  791.  
  792. /* method: somRespondsTo */
  793. boolean   somRespondsTo(somId mId)
  794. {
  795. /*
  796.  *  Returns 1 (true) if the indicated method can be invoked
  797.  *  on the receiver and 0 (false) otherwise.
  798.  */
  799.    return SOM_ResolveD(this,ConstantDef,SOMObject,somRespondsTo)
  800.     (this,mId);
  801. }
  802.  
  803.  
  804. /* va_list method: somDispatch */
  805.  
  806. /*
  807.  *  This method provides a generic, class-specific dispatch mechanism.
  808.  *  It accepts as input <retValue> a pointer to the memory area to be
  809.  *  loaded with the result of dispatching the method indicated by
  810.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  811.  *  on which the method is to be invoked as the first argument.
  812.  */
  813. /* the va_list invocation form */
  814. boolean   ConstantDef_somDispatch(somToken* retValue, 
  815.         somId methodId, 
  816.         va_list ap)
  817. {return SOM_ResolveD(this,ConstantDef,SOMObject,somDispatch)
  818.     (this,retValue,methodId,ap);
  819. }
  820.  
  821. /* the varargs invocation form */
  822. boolean   somDispatch(somToken* retValue, 
  823.         somId methodId, 
  824.         ...)
  825. {
  826. /*
  827.  *  This method provides a generic, class-specific dispatch mechanism.
  828.  *  It accepts as input <retValue> a pointer to the memory area to be
  829.  *  loaded with the result of dispatching the method indicated by
  830.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  831.  *  on which the method is to be invoked as the first argument.
  832.  */
  833.    va_list ap;
  834.    va_start(ap, methodId);
  835.    boolean __somResult = 
  836.       SOM_ResolveD(this,ConstantDef,SOMObject,somDispatch)
  837.     (this,retValue,methodId,ap);
  838.    va_end(ap);
  839.    return __somResult;
  840. }
  841.  
  842.  
  843. /* va_list method: somClassDispatch */
  844.  
  845. /*
  846.  *  Like somDispatch, but method resolution for static methods is done
  847.  *  according to the clsObj instance method table.
  848.  */
  849. /* the va_list invocation form */
  850. boolean   ConstantDef_somClassDispatch(SOMClass* clsObj, 
  851.         somToken* retValue, 
  852.         somId methodId, 
  853.         va_list ap)
  854. {return SOM_ResolveD(this,ConstantDef,SOMObject,somClassDispatch)
  855.     (this,clsObj,retValue,methodId,ap);
  856. }
  857.  
  858. /* the varargs invocation form */
  859. boolean   somClassDispatch(SOMClass* clsObj, 
  860.         somToken* retValue, 
  861.         somId methodId, 
  862.         ...)
  863. {
  864. /*
  865.  *  Like somDispatch, but method resolution for static methods is done
  866.  *  according to the clsObj instance method table.
  867.  */
  868.    va_list ap;
  869.    va_start(ap, methodId);
  870.    boolean __somResult = 
  871.       SOM_ResolveD(this,ConstantDef,SOMObject,somClassDispatch)
  872.     (this,clsObj,retValue,methodId,ap);
  873.    va_end(ap);
  874.    return __somResult;
  875. }
  876.  
  877.  
  878. /* method: somCastObj */
  879. boolean   somCastObj(SOMClass* cls)
  880. {
  881. /*
  882.  *  cast the receiving object to cls (which must be an ancestor of the
  883.  *  objects true class. Returns true on success.
  884.  */
  885.    return SOM_ResolveD(this,ConstantDef,SOMObject,somCastObj)
  886.     (this,cls);
  887. }
  888.  
  889.  
  890. /* method: somResetObj */
  891. boolean   somResetObj()
  892. {
  893. /*
  894.  *  reset an object to its true class. Returns true always.
  895.  */
  896.    return SOM_ResolveD(this,ConstantDef,SOMObject,somResetObj)
  897.     (this);
  898. }
  899.  
  900.  
  901. /* va_list method: somDispatchV */
  902.  
  903. /*
  904.  *  Obsolete. Use somDispatch instead.
  905.  */
  906. /* the va_list invocation form */
  907. void   ConstantDef_somDispatchV(somId methodId, 
  908.         somId descriptor, 
  909.         va_list ap)
  910. {   SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchV)
  911.     (this,methodId,descriptor,ap);
  912. }
  913.  
  914. /* the varargs invocation form */
  915. void   somDispatchV(somId methodId, 
  916.         somId descriptor, 
  917.         ...)
  918. {
  919. /*
  920.  *  Obsolete. Use somDispatch instead.
  921.  */
  922.    va_list ap;
  923.    va_start(ap, descriptor);
  924.    SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchV)
  925.     (this,methodId,descriptor,ap);
  926.    va_end(ap);
  927. }
  928.  
  929.  
  930. /* va_list method: somDispatchL */
  931.  
  932. /*
  933.  *  Obsolete. Use somDispatch instead.
  934.  */
  935. /* the va_list invocation form */
  936. long   ConstantDef_somDispatchL(somId methodId, 
  937.         somId descriptor, 
  938.         va_list ap)
  939. {return SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchL)
  940.     (this,methodId,descriptor,ap);
  941. }
  942.  
  943. /* the varargs invocation form */
  944. long   somDispatchL(somId methodId, 
  945.         somId descriptor, 
  946.         ...)
  947. {
  948. /*
  949.  *  Obsolete. Use somDispatch instead.
  950.  */
  951.    va_list ap;
  952.    va_start(ap, descriptor);
  953.    long __somResult = 
  954.       SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchL)
  955.     (this,methodId,descriptor,ap);
  956.    va_end(ap);
  957.    return __somResult;
  958. }
  959.  
  960.  
  961. /* va_list method: somDispatchA */
  962.  
  963. /*
  964.  *  Obsolete. Use somDispatch instead.
  965.  */
  966. /* the va_list invocation form */
  967. void*   ConstantDef_somDispatchA(somId methodId, 
  968.         somId descriptor, 
  969.         va_list ap)
  970. {return SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchA)
  971.     (this,methodId,descriptor,ap);
  972. }
  973.  
  974. /* the varargs invocation form */
  975. void*   somDispatchA(somId methodId, 
  976.         somId descriptor, 
  977.         ...)
  978. {
  979. /*
  980.  *  Obsolete. Use somDispatch instead.
  981.  */
  982.    va_list ap;
  983.    va_start(ap, descriptor);
  984.    void* __somResult = 
  985.       SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchA)
  986.     (this,methodId,descriptor,ap);
  987.    va_end(ap);
  988.    return __somResult;
  989. }
  990.  
  991.  
  992. /* va_list method: somDispatchD */
  993.  
  994. /*
  995.  *  Obsolete. Use somDispatch instead.
  996.  */
  997. /* the va_list invocation form */
  998. double   ConstantDef_somDispatchD(somId methodId, 
  999.         somId descriptor, 
  1000.         va_list ap)
  1001. {return SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchD)
  1002.     (this,methodId,descriptor,ap);
  1003. }
  1004.  
  1005. /* the varargs invocation form */
  1006. double   somDispatchD(somId methodId, 
  1007.         somId descriptor, 
  1008.         ...)
  1009. {
  1010. /*
  1011.  *  Obsolete. Use somDispatch instead.
  1012.  */
  1013.    va_list ap;
  1014.    va_start(ap, descriptor);
  1015.    double __somResult = 
  1016.       SOM_ResolveD(this,ConstantDef,SOMObject,somDispatchD)
  1017.     (this,methodId,descriptor,ap);
  1018.    va_end(ap);
  1019.    return __somResult;
  1020. }
  1021.  
  1022.  
  1023. /* method: somPrintSelf */
  1024. SOMObject*   somPrintSelf()
  1025. {
  1026. /*
  1027.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  1028.  *  information about this object.  The default implementation just gives
  1029.  *  the object's class name and its address in memory.
  1030.  *  <self> is returned.
  1031.  */
  1032.    return SOM_ResolveD(this,ConstantDef,SOMObject,somPrintSelf)
  1033.     (this);
  1034. }
  1035.  
  1036.  
  1037.  
  1038. };   /* ConstantDef */
  1039.  
  1040.  
  1041.  
  1042. #endif       /* SOM_ConstantDef_xh */
  1043.