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

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