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

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