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

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