home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / PSTOBJ.XH < prev    next >
Text File  |  1997-02-28  |  29KB  |  934 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: F:\build\os2\ship\include\PstObj.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ODPersistentObject_xh
  11. #define SOM_ODPersistentObject_xh
  12.  
  13. class ODPersistentObject;
  14.  
  15. #define ODPersistentObject_MajorVersion 1
  16. #define ODPersistentObject_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_ODRefCntObject_xh
  24. #include <RefCtObj.xh>
  25. #endif
  26.  
  27. #ifndef ODPersistentObject_API
  28. #define ODPersistentObject_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39. class ODFrame;
  40. class ODFacet;
  41. class ODPlatformCanvas;
  42. class ODObject;
  43. class ODExtension;
  44. class ODRefCntObject;
  45. class ODPersistentObject;
  46. class ODStorageUnit;
  47.  
  48. /*
  49.  * End of bindings for IDL types.
  50.  */
  51.  
  52. /* A procedure to create the ODPersistentObject Class */
  53. SOMEXTERN SOMClass * SOMLINK ODPersistentObjectNewClass(
  54.         integer4 majorVersion,
  55.         integer4 minorVersion);
  56.  
  57. /* The API to the ODPersistentObject class object, and the methods it introduces. */
  58. SOMEXTERN struct ODPersistentObjectClassDataStructure {
  59.     SOMClass *classObject;
  60.     somMToken InitPersistentObject;
  61.     somMToken InitPersistentObjectFromStorage;
  62.     somMToken ReleaseAll;
  63.     somMToken Externalize;
  64.     somMToken GetStorageUnit;
  65.     somMToken GetID;
  66.     somMToken CloneInto;
  67. } SOMDLINK ODPersistentObjectClassData;
  68. #define _ODPersistentObject ODPersistentObjectClassData.classObject
  69.  
  70. /* The API to parentMtabs for ODPersistentObject, and the instance data it introduces. */
  71. SOMEXTERN struct ODPersistentObjectCClassDataStructure {
  72.     somMethodTabs parentMtab;
  73.     somDToken              instanceDataToken;
  74. } SOMDLINK ODPersistentObjectCClassData;
  75.  
  76. /*
  77.  * -- Typedefs for ODPersistentObject Method Procedures
  78.  */
  79. SOMEXTERN {
  80. typedef void   SOMLINK somTP_ODPersistentObject_InitPersistentObject(ODPersistentObject *somSelf, Environment *ev, 
  81.         ODStorageUnit* storageUnit);
  82. typedef somTP_ODPersistentObject_InitPersistentObject *somTD_ODPersistentObject_InitPersistentObject;
  83. typedef void   SOMLINK somTP_ODPersistentObject_InitPersistentObjectFromStorage(ODPersistentObject *somSelf, Environment *ev, 
  84.         ODStorageUnit* storageUnit);
  85. typedef somTP_ODPersistentObject_InitPersistentObjectFromStorage *somTD_ODPersistentObject_InitPersistentObjectFromStorage;
  86. typedef void   SOMLINK somTP_ODPersistentObject_ReleaseAll(ODPersistentObject *somSelf, Environment *ev);
  87. typedef somTP_ODPersistentObject_ReleaseAll *somTD_ODPersistentObject_ReleaseAll;
  88. typedef void   SOMLINK somTP_ODPersistentObject_Externalize(ODPersistentObject *somSelf, Environment *ev);
  89. typedef somTP_ODPersistentObject_Externalize *somTD_ODPersistentObject_Externalize;
  90. typedef ODStorageUnit*   SOMLINK somTP_ODPersistentObject_GetStorageUnit(ODPersistentObject *somSelf, Environment *ev);
  91. typedef somTP_ODPersistentObject_GetStorageUnit *somTD_ODPersistentObject_GetStorageUnit;
  92. typedef ODID   SOMLINK somTP_ODPersistentObject_GetID(ODPersistentObject *somSelf, Environment *ev);
  93. typedef somTP_ODPersistentObject_GetID *somTD_ODPersistentObject_GetID;
  94. typedef void   SOMLINK somTP_ODPersistentObject_CloneInto(ODPersistentObject *somSelf, Environment *ev, 
  95.         ODDraftKey key, 
  96.         ODStorageUnit* toSU, 
  97.         ODFrame* scope);
  98. typedef somTP_ODPersistentObject_CloneInto *somTD_ODPersistentObject_CloneInto;
  99.  
  100. /*
  101.  * -- Typedefs for Reintroduced Wrapper Methods
  102.  */
  103. typedef void   SOMLINK somTP_ODPersistentObject_InitRefCntObject(ODPersistentObject *somSelf, Environment *ev);
  104. typedef somTP_ODPersistentObject_InitRefCntObject *somTD_ODPersistentObject_InitRefCntObject;
  105. typedef void   SOMLINK somTP_ODPersistentObject_Acquire(ODPersistentObject *somSelf, Environment *ev);
  106. typedef somTP_ODPersistentObject_Acquire *somTD_ODPersistentObject_Acquire;
  107. typedef void   SOMLINK somTP_ODPersistentObject_Release(ODPersistentObject *somSelf, Environment *ev);
  108. typedef somTP_ODPersistentObject_Release *somTD_ODPersistentObject_Release;
  109. typedef ODULong   SOMLINK somTP_ODPersistentObject_GetRefCount(ODPersistentObject *somSelf, Environment *ev);
  110. typedef somTP_ODPersistentObject_GetRefCount *somTD_ODPersistentObject_GetRefCount;
  111. typedef void   SOMLINK somTP_ODPersistentObject_somUninit(ODPersistentObject *somSelf);
  112. typedef somTP_ODPersistentObject_somUninit *somTD_ODPersistentObject_somUninit;
  113. typedef void   SOMLINK somTP_ODPersistentObject_InitObject(ODPersistentObject *somSelf, Environment *ev);
  114. typedef somTP_ODPersistentObject_InitObject *somTD_ODPersistentObject_InitObject;
  115. typedef ODBoolean   SOMLINK somTP_ODPersistentObject_HasExtension(ODPersistentObject *somSelf, Environment *ev, 
  116.         ODType extensionName);
  117. typedef somTP_ODPersistentObject_HasExtension *somTD_ODPersistentObject_HasExtension;
  118. typedef ODExtension*   SOMLINK somTP_ODPersistentObject_AcquireExtension(ODPersistentObject *somSelf, Environment *ev, 
  119.         ODType extensionName);
  120. typedef somTP_ODPersistentObject_AcquireExtension *somTD_ODPersistentObject_AcquireExtension;
  121. typedef void   SOMLINK somTP_ODPersistentObject_ReleaseExtension(ODPersistentObject *somSelf, Environment *ev, 
  122.         ODExtension* extension);
  123. typedef somTP_ODPersistentObject_ReleaseExtension *somTD_ODPersistentObject_ReleaseExtension;
  124. typedef ODSize   SOMLINK somTP_ODPersistentObject_Purge(ODPersistentObject *somSelf, Environment *ev, 
  125.         ODSize size);
  126. typedef somTP_ODPersistentObject_Purge *somTD_ODPersistentObject_Purge;
  127. typedef ODBoolean   SOMLINK somTP_ODPersistentObject_IsEqualTo(ODPersistentObject *somSelf, Environment *ev, 
  128.         ODObject* object);
  129. typedef somTP_ODPersistentObject_IsEqualTo *somTD_ODPersistentObject_IsEqualTo;
  130. typedef void   SOMLINK somTP_ODPersistentObject_SubClassResponsibility(ODPersistentObject *somSelf, Environment *ev);
  131. typedef somTP_ODPersistentObject_SubClassResponsibility *somTD_ODPersistentObject_SubClassResponsibility;
  132. typedef void   SOMLINK somTP_ODPersistentObject_somInit(ODPersistentObject *somSelf);
  133. typedef somTP_ODPersistentObject_somInit *somTD_ODPersistentObject_somInit;
  134. typedef void   SOMLINK somTP_ODPersistentObject_somDefaultInit(ODPersistentObject *somSelf, 
  135.         som3InitCtrl* ctrl);
  136. typedef somTP_ODPersistentObject_somDefaultInit *somTD_ODPersistentObject_somDefaultInit;
  137. typedef void   SOMLINK somTP_ODPersistentObject_somDestruct(ODPersistentObject *somSelf, 
  138.         octet doFree, 
  139.         som3DestructCtrl* ctrl);
  140. typedef somTP_ODPersistentObject_somDestruct *somTD_ODPersistentObject_somDestruct;
  141. typedef void   SOMLINK somTP_ODPersistentObject_somDefaultCopyInit(ODPersistentObject *somSelf, 
  142.         som3InitCtrl* ctrl, 
  143.         SOMObject* fromObj);
  144. typedef somTP_ODPersistentObject_somDefaultCopyInit *somTD_ODPersistentObject_somDefaultCopyInit;
  145. typedef ODPersistentObject*   SOMLINK somTP_ODPersistentObject_somDefaultAssign(ODPersistentObject *somSelf, 
  146.         som3AssignCtrl* ctrl, 
  147.         SOMObject* fromObj);
  148. typedef somTP_ODPersistentObject_somDefaultAssign *somTD_ODPersistentObject_somDefaultAssign;
  149. typedef void   SOMLINK somTP_ODPersistentObject_somDefaultConstCopyInit(ODPersistentObject *somSelf, 
  150.         som3InitCtrl* ctrl, 
  151.         SOMObject* fromObj);
  152. typedef somTP_ODPersistentObject_somDefaultConstCopyInit *somTD_ODPersistentObject_somDefaultConstCopyInit;
  153. typedef void   SOMLINK somTP_ODPersistentObject_somDefaultVCopyInit(ODPersistentObject *somSelf, 
  154.         som3InitCtrl* ctrl, 
  155.         SOMObject* fromObj);
  156. typedef somTP_ODPersistentObject_somDefaultVCopyInit *somTD_ODPersistentObject_somDefaultVCopyInit;
  157. typedef void   SOMLINK somTP_ODPersistentObject_somDefaultConstVCopyInit(ODPersistentObject *somSelf, 
  158.         som3InitCtrl* ctrl, 
  159.         SOMObject* fromObj);
  160. typedef somTP_ODPersistentObject_somDefaultConstVCopyInit *somTD_ODPersistentObject_somDefaultConstVCopyInit;
  161. typedef ODPersistentObject*   SOMLINK somTP_ODPersistentObject_somDefaultConstAssign(ODPersistentObject *somSelf, 
  162.         som3AssignCtrl* ctrl, 
  163.         SOMObject* fromObj);
  164. typedef somTP_ODPersistentObject_somDefaultConstAssign *somTD_ODPersistentObject_somDefaultConstAssign;
  165. typedef ODPersistentObject*   SOMLINK somTP_ODPersistentObject_somDefaultVAssign(ODPersistentObject *somSelf, 
  166.         som3AssignCtrl* ctrl, 
  167.         SOMObject* fromObj);
  168. typedef somTP_ODPersistentObject_somDefaultVAssign *somTD_ODPersistentObject_somDefaultVAssign;
  169. typedef ODPersistentObject*   SOMLINK somTP_ODPersistentObject_somDefaultConstVAssign(ODPersistentObject *somSelf, 
  170.         som3AssignCtrl* ctrl, 
  171.         SOMObject* fromObj);
  172. typedef somTP_ODPersistentObject_somDefaultConstVAssign *somTD_ODPersistentObject_somDefaultConstVAssign;
  173. typedef void   SOMLINK somTP_ODPersistentObject_somFree(ODPersistentObject *somSelf);
  174. typedef somTP_ODPersistentObject_somFree *somTD_ODPersistentObject_somFree;
  175. typedef SOMClass*   SOMLINK somTP_ODPersistentObject_somGetClass(ODPersistentObject *somSelf);
  176. typedef somTP_ODPersistentObject_somGetClass *somTD_ODPersistentObject_somGetClass;
  177. typedef string   SOMLINK somTP_ODPersistentObject_somGetClassName(ODPersistentObject *somSelf);
  178. typedef somTP_ODPersistentObject_somGetClassName *somTD_ODPersistentObject_somGetClassName;
  179. typedef long   SOMLINK somTP_ODPersistentObject_somGetSize(ODPersistentObject *somSelf);
  180. typedef somTP_ODPersistentObject_somGetSize *somTD_ODPersistentObject_somGetSize;
  181. typedef boolean   SOMLINK somTP_ODPersistentObject_somIsA(ODPersistentObject *somSelf, 
  182.         SOMClass* aClassObj);
  183. typedef somTP_ODPersistentObject_somIsA *somTD_ODPersistentObject_somIsA;
  184. typedef boolean   SOMLINK somTP_ODPersistentObject_somIsInstanceOf(ODPersistentObject *somSelf, 
  185.         SOMClass* aClassObj);
  186. typedef somTP_ODPersistentObject_somIsInstanceOf *somTD_ODPersistentObject_somIsInstanceOf;
  187. typedef boolean   SOMLINK somTP_ODPersistentObject_somRespondsTo(ODPersistentObject *somSelf, 
  188.         somId mId);
  189. typedef somTP_ODPersistentObject_somRespondsTo *somTD_ODPersistentObject_somRespondsTo;
  190. typedef boolean   SOMLINK somTP_ODPersistentObject_somDispatch(ODPersistentObject *somSelf, 
  191.         somToken* retValue, 
  192.         somId methodId, 
  193.         va_list ap);
  194. typedef somTP_ODPersistentObject_somDispatch *somTD_ODPersistentObject_somDispatch;
  195. typedef boolean   SOMLINK somTP_ODPersistentObject_somClassDispatch(ODPersistentObject *somSelf, 
  196.         SOMClass* clsObj, 
  197.         somToken* retValue, 
  198.         somId methodId, 
  199.         va_list ap);
  200. typedef somTP_ODPersistentObject_somClassDispatch *somTD_ODPersistentObject_somClassDispatch;
  201. typedef boolean   SOMLINK somTP_ODPersistentObject_somCastObj(ODPersistentObject *somSelf, 
  202.         SOMClass* cls);
  203. typedef somTP_ODPersistentObject_somCastObj *somTD_ODPersistentObject_somCastObj;
  204. typedef boolean   SOMLINK somTP_ODPersistentObject_somResetObj(ODPersistentObject *somSelf);
  205. typedef somTP_ODPersistentObject_somResetObj *somTD_ODPersistentObject_somResetObj;
  206. typedef void   SOMLINK somTP_ODPersistentObject_somDispatchV(ODPersistentObject *somSelf, 
  207.         somId methodId, 
  208.         somId descriptor, 
  209.         va_list ap);
  210. typedef somTP_ODPersistentObject_somDispatchV *somTD_ODPersistentObject_somDispatchV;
  211. typedef long   SOMLINK somTP_ODPersistentObject_somDispatchL(ODPersistentObject *somSelf, 
  212.         somId methodId, 
  213.         somId descriptor, 
  214.         va_list ap);
  215. typedef somTP_ODPersistentObject_somDispatchL *somTD_ODPersistentObject_somDispatchL;
  216. typedef void*   SOMLINK somTP_ODPersistentObject_somDispatchA(ODPersistentObject *somSelf, 
  217.         somId methodId, 
  218.         somId descriptor, 
  219.         va_list ap);
  220. typedef somTP_ODPersistentObject_somDispatchA *somTD_ODPersistentObject_somDispatchA;
  221. typedef double   SOMLINK somTP_ODPersistentObject_somDispatchD(ODPersistentObject *somSelf, 
  222.         somId methodId, 
  223.         somId descriptor, 
  224.         va_list ap);
  225. typedef somTP_ODPersistentObject_somDispatchD *somTD_ODPersistentObject_somDispatchD;
  226. typedef SOMObject*   SOMLINK somTP_ODPersistentObject_somPrintSelf(ODPersistentObject *somSelf);
  227. typedef somTP_ODPersistentObject_somPrintSelf *somTD_ODPersistentObject_somPrintSelf;
  228. typedef void   SOMLINK somTP_ODPersistentObject_somDumpSelf(ODPersistentObject *somSelf, 
  229.         long level);
  230. typedef somTP_ODPersistentObject_somDumpSelf *somTD_ODPersistentObject_somDumpSelf;
  231. typedef void   SOMLINK somTP_ODPersistentObject_somDumpSelfInt(ODPersistentObject *somSelf, 
  232.         long level);
  233. typedef somTP_ODPersistentObject_somDumpSelfInt *somTD_ODPersistentObject_somDumpSelfInt;
  234. }
  235.  
  236. #endif /* ODPersistentObject_API */
  237.  
  238.  
  239. /*
  240.  * -- This emitter treats Method Tokens as Thunks by default.
  241.  * -- Use the sc modifier "nothunks" to change this default
  242.  */
  243. #undef somresolve_
  244. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  245.  
  246. /*
  247.  * -- The C++ Wrapper Class for ODPersistentObject
  248.  */
  249. class ODPersistentObject : public ODRefCntObject
  250. {
  251. public:
  252.  
  253. // ODPersistentObject::new creates the class object if necessary, and then uses somNewNoInit
  254. // to allocate memory and create the object. Initialization is in ctors.
  255. void *operator new(size_t)
  256. {
  257.    if (!_ODPersistentObject) ODPersistentObjectNewClass(ODPersistentObject_MajorVersion,ODPersistentObject_MinorVersion);
  258.    return (void*)
  259.       SOM_Resolve(_ODPersistentObject,SOMClass,somNewNoInit)
  260.          ((SOMClass *)((void*)_ODPersistentObject));
  261. }
  262.  
  263. // ODPersistentObject::delete uses somDestruct.
  264. void operator delete(void * obj)
  265. {
  266.    if (obj && *(void**)obj) {
  267.       SOM_Resolve(obj,SOMObject,somFree)
  268.          ((SOMObject*)obj);
  269.    }
  270. }
  271.  
  272. ODPersistentObject& operator=(ODPersistentObject& fromObj)
  273. {
  274.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  275.    return *this;
  276. }
  277.  
  278. ODPersistentObject()
  279. {
  280.    if (*(void**)this != 
  281.        ((somParentMtabStructPtr)
  282.         (ODPersistentObjectCClassData.parentMtab))->mtab)
  283.       return;
  284.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  285. }
  286.  
  287. ODPersistentObject(ODPersistentObject* fromObj)
  288. {
  289.    if (*(void**)this != 
  290.        ((somParentMtabStructPtr)
  291.         (ODPersistentObjectCClassData.parentMtab))->mtab)
  292.       return;
  293.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  294. }
  295.  
  296. #ifdef __IBMCPP__
  297. #pragma info(nocnv,nopar)
  298. #endif
  299. ODPersistentObject(const ODPersistentObject* fromObj)
  300. {
  301.    if (*(void**)this != 
  302.        ((somParentMtabStructPtr)
  303.         (ODPersistentObjectCClassData.parentMtab))->mtab)
  304.       return;
  305.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  306. }
  307. #ifdef __IBMCPP__
  308. #pragma info(restore)
  309. #endif
  310.  
  311.  
  312. /* method: InitPersistentObject */
  313. void   InitPersistentObject(Environment *ev, 
  314.         ODStorageUnit* storageUnit)
  315. {
  316.    SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,InitPersistentObject)
  317.     (this, ev,storageUnit);
  318. #ifdef SOMCHKEXCEPT
  319.    if ( ev->_major != NO_EXCEPTION )
  320.       SOMCHKEXCEPT;
  321. #endif
  322. }
  323.  
  324.  
  325. /* method: InitPersistentObjectFromStorage */
  326. void   InitPersistentObjectFromStorage(Environment *ev, 
  327.         ODStorageUnit* storageUnit)
  328. {
  329.    SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,InitPersistentObjectFromStorage)
  330.     (this, ev,storageUnit);
  331. #ifdef SOMCHKEXCEPT
  332.    if ( ev->_major != NO_EXCEPTION )
  333.       SOMCHKEXCEPT;
  334. #endif
  335. }
  336.  
  337.  
  338. /* method: ReleaseAll */
  339. void   ReleaseAll(Environment *ev)
  340. {
  341.    SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,ReleaseAll)
  342.     (this, ev);
  343. #ifdef SOMCHKEXCEPT
  344.    if ( ev->_major != NO_EXCEPTION )
  345.       SOMCHKEXCEPT;
  346. #endif
  347. }
  348.  
  349.  
  350. /* method: Externalize */
  351. void   Externalize(Environment *ev)
  352. {
  353.    SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,Externalize)
  354.     (this, ev);
  355. #ifdef SOMCHKEXCEPT
  356.    if ( ev->_major != NO_EXCEPTION )
  357.       SOMCHKEXCEPT;
  358. #endif
  359. }
  360.  
  361.  
  362. /* method: GetStorageUnit */
  363. ODStorageUnit*   GetStorageUnit(Environment *ev)
  364. {
  365. #ifdef SOMCHKEXCEPT
  366.    ODStorageUnit* __somResult = 
  367.       SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,GetStorageUnit)
  368.     (this, ev);
  369.    if ( ev->_major != NO_EXCEPTION )
  370.       SOMCHKEXCEPT;
  371.    return __somResult;
  372. #else
  373.    return SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,GetStorageUnit)
  374.     (this, ev);
  375. #endif
  376. }
  377.  
  378.  
  379. /* method: GetID */
  380. ODID   GetID(Environment *ev)
  381. {
  382. #ifdef SOMCHKEXCEPT
  383.    ODID __somResult = 
  384.       SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,GetID)
  385.     (this, ev);
  386.    if ( ev->_major != NO_EXCEPTION )
  387.       SOMCHKEXCEPT;
  388.    return __somResult;
  389. #else
  390.    return SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,GetID)
  391.     (this, ev);
  392. #endif
  393. }
  394.  
  395.  
  396. /* method: CloneInto */
  397. void   CloneInto(Environment *ev, 
  398.         ODDraftKey key, 
  399.         ODStorageUnit* toSU, 
  400.         ODFrame* scope)
  401. {
  402.    SOM_ResolveD(this,ODPersistentObject,ODPersistentObject,CloneInto)
  403.     (this, ev,key,toSU,scope);
  404. #ifdef SOMCHKEXCEPT
  405.    if ( ev->_major != NO_EXCEPTION )
  406.       SOMCHKEXCEPT;
  407. #endif
  408. }
  409.  
  410.  
  411. /*
  412.  * Reintroduce inherited methods
  413.  */
  414.  
  415. /* method: InitRefCntObject */
  416. void   InitRefCntObject(Environment *ev)
  417. {
  418.    SOM_ResolveD(this,ODPersistentObject,ODRefCntObject,InitRefCntObject)
  419.     (this, ev);
  420. #ifdef SOMCHKEXCEPT
  421.    if ( ev->_major != NO_EXCEPTION )
  422.       SOMCHKEXCEPT;
  423. #endif
  424. }
  425.  
  426.  
  427. /* method: Acquire */
  428. void   Acquire(Environment *ev)
  429. {
  430.    SOM_ResolveD(this,ODPersistentObject,ODRefCntObject,Acquire)
  431.     (this, ev);
  432. #ifdef SOMCHKEXCEPT
  433.    if ( ev->_major != NO_EXCEPTION )
  434.       SOMCHKEXCEPT;
  435. #endif
  436. }
  437.  
  438.  
  439. /* method: Release */
  440. void   Release(Environment *ev)
  441. {
  442.    SOM_ResolveD(this,ODPersistentObject,ODRefCntObject,Release)
  443.     (this, ev);
  444. #ifdef SOMCHKEXCEPT
  445.    if ( ev->_major != NO_EXCEPTION )
  446.       SOMCHKEXCEPT;
  447. #endif
  448. }
  449.  
  450.  
  451. /* method: GetRefCount */
  452. ODULong   GetRefCount(Environment *ev)
  453. {
  454. #ifdef SOMCHKEXCEPT
  455.    ODULong __somResult = 
  456.       SOM_ResolveD(this,ODPersistentObject,ODRefCntObject,GetRefCount)
  457.     (this, ev);
  458.    if ( ev->_major != NO_EXCEPTION )
  459.       SOMCHKEXCEPT;
  460.    return __somResult;
  461. #else
  462.    return SOM_ResolveD(this,ODPersistentObject,ODRefCntObject,GetRefCount)
  463.     (this, ev);
  464. #endif
  465. }
  466.  
  467.  
  468. /* method: somUninit */
  469. void   somUninit()
  470. {
  471.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somUninit)
  472.     (this);
  473. }
  474.  
  475.  
  476. /* method: InitObject */
  477. void   InitObject(Environment *ev)
  478. {
  479.    SOM_ResolveD(this,ODPersistentObject,ODObject,InitObject)
  480.     (this, ev);
  481. #ifdef SOMCHKEXCEPT
  482.    if ( ev->_major != NO_EXCEPTION )
  483.       SOMCHKEXCEPT;
  484. #endif
  485. }
  486.  
  487.  
  488. /* method: HasExtension */
  489. ODBoolean   HasExtension(Environment *ev, 
  490.         ODType extensionName)
  491. {
  492. #ifdef SOMCHKEXCEPT
  493.    ODBoolean __somResult = 
  494.       SOM_ResolveD(this,ODPersistentObject,ODObject,HasExtension)
  495.     (this, ev,extensionName);
  496.    if ( ev->_major != NO_EXCEPTION )
  497.       SOMCHKEXCEPT;
  498.    return __somResult;
  499. #else
  500.    return SOM_ResolveD(this,ODPersistentObject,ODObject,HasExtension)
  501.     (this, ev,extensionName);
  502. #endif
  503. }
  504.  
  505.  
  506. /* method: AcquireExtension */
  507. ODExtension*   AcquireExtension(Environment *ev, 
  508.         ODType extensionName)
  509. {
  510. #ifdef SOMCHKEXCEPT
  511.    ODExtension* __somResult = 
  512.       SOM_ResolveD(this,ODPersistentObject,ODObject,AcquireExtension)
  513.     (this, ev,extensionName);
  514.    if ( ev->_major != NO_EXCEPTION )
  515.       SOMCHKEXCEPT;
  516.    return __somResult;
  517. #else
  518.    return SOM_ResolveD(this,ODPersistentObject,ODObject,AcquireExtension)
  519.     (this, ev,extensionName);
  520. #endif
  521. }
  522.  
  523.  
  524. /* method: ReleaseExtension */
  525. void   ReleaseExtension(Environment *ev, 
  526.         ODExtension* extension)
  527. {
  528.    SOM_ResolveD(this,ODPersistentObject,ODObject,ReleaseExtension)
  529.     (this, ev,extension);
  530. #ifdef SOMCHKEXCEPT
  531.    if ( ev->_major != NO_EXCEPTION )
  532.       SOMCHKEXCEPT;
  533. #endif
  534. }
  535.  
  536.  
  537. /* method: Purge */
  538. ODSize   Purge(Environment *ev, 
  539.         ODSize size)
  540. {
  541. #ifdef SOMCHKEXCEPT
  542.    ODSize __somResult = 
  543.       SOM_ResolveD(this,ODPersistentObject,ODObject,Purge)
  544.     (this, ev,size);
  545.    if ( ev->_major != NO_EXCEPTION )
  546.       SOMCHKEXCEPT;
  547.    return __somResult;
  548. #else
  549.    return SOM_ResolveD(this,ODPersistentObject,ODObject,Purge)
  550.     (this, ev,size);
  551. #endif
  552. }
  553.  
  554.  
  555. /* method: IsEqualTo */
  556. ODBoolean   IsEqualTo(Environment *ev, 
  557.         ODObject* object)
  558. {
  559. #ifdef SOMCHKEXCEPT
  560.    ODBoolean __somResult = 
  561.       SOM_ResolveD(this,ODPersistentObject,ODObject,IsEqualTo)
  562.     (this, ev,object);
  563.    if ( ev->_major != NO_EXCEPTION )
  564.       SOMCHKEXCEPT;
  565.    return __somResult;
  566. #else
  567.    return SOM_ResolveD(this,ODPersistentObject,ODObject,IsEqualTo)
  568.     (this, ev,object);
  569. #endif
  570. }
  571.  
  572.  
  573. /* method: SubClassResponsibility */
  574. void   SubClassResponsibility(Environment *ev)
  575. {
  576.    SOM_ResolveD(this,ODPersistentObject,ODObject,SubClassResponsibility)
  577.     (this, ev);
  578. #ifdef SOMCHKEXCEPT
  579.    if ( ev->_major != NO_EXCEPTION )
  580.       SOMCHKEXCEPT;
  581. #endif
  582. }
  583.  
  584.  
  585. /* method: somInit */
  586. void   somInit()
  587. {
  588.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somInit)
  589.     (this);
  590. }
  591.  
  592.  
  593. /* initializer method: somDefaultInit */
  594. void   somDefaultInit(som3InitCtrl* ctrl)
  595. {
  596.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultInit)
  597.     (this,ctrl);
  598. }
  599.  
  600.  
  601. /* method: somDestruct */
  602. void   somDestruct(octet doFree, 
  603.         som3DestructCtrl* ctrl)
  604. {
  605.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDestruct)
  606.     (this,doFree,ctrl);
  607. }
  608.  
  609.  
  610. /* initializer method: somDefaultCopyInit */
  611. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  612.         SOMObject* fromObj)
  613. {
  614.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultCopyInit)
  615.     (this,ctrl,fromObj);
  616. }
  617.  
  618.  
  619. /* method: somDefaultAssign */
  620. ODPersistentObject*  somDefaultAssign(som3AssignCtrl* ctrl, 
  621.         SOMObject* fromObj)
  622. {
  623.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultAssign)
  624.     (this,ctrl,fromObj);
  625. }
  626.  
  627.  
  628. /* initializer method: somDefaultConstCopyInit */
  629. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  630.         SOMObject* fromObj)
  631. {
  632.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultConstCopyInit)
  633.     (this,ctrl,fromObj);
  634. }
  635.  
  636.  
  637. /* initializer method: somDefaultVCopyInit */
  638. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  639.         SOMObject* fromObj)
  640. {
  641.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultVCopyInit)
  642.     (this,ctrl,fromObj);
  643. }
  644.  
  645.  
  646. /* initializer method: somDefaultConstVCopyInit */
  647. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  648.         SOMObject* fromObj)
  649. {
  650.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultConstVCopyInit)
  651.     (this,ctrl,fromObj);
  652. }
  653.  
  654.  
  655. /* method: somDefaultConstAssign */
  656. ODPersistentObject*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  657.         SOMObject* fromObj)
  658. {
  659.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultConstAssign)
  660.     (this,ctrl,fromObj);
  661. }
  662.  
  663.  
  664. /* method: somDefaultVAssign */
  665. ODPersistentObject*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  666.         SOMObject* fromObj)
  667. {
  668.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultVAssign)
  669.     (this,ctrl,fromObj);
  670. }
  671.  
  672.  
  673. /* method: somDefaultConstVAssign */
  674. ODPersistentObject*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  675.         SOMObject* fromObj)
  676. {
  677.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDefaultConstVAssign)
  678.     (this,ctrl,fromObj);
  679. }
  680.  
  681.  
  682. /* method: somFree */
  683. void   somFree()
  684. {
  685.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somFree)
  686.     (this);
  687. }
  688.  
  689.  
  690. /* method: somGetClass */
  691. SOMClass*   somGetClass()
  692. {
  693.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somGetClass)
  694.     (this);
  695. }
  696.  
  697.  
  698. /* method: somGetClassName */
  699. string   somGetClassName()
  700. {
  701.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somGetClassName)
  702.     (this);
  703. }
  704.  
  705.  
  706. /* method: somGetSize */
  707. long   somGetSize()
  708. {
  709.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somGetSize)
  710.     (this);
  711. }
  712.  
  713.  
  714. /* method: somIsA */
  715. boolean   somIsA(SOMClass* aClassObj)
  716. {
  717.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somIsA)
  718.     (this,aClassObj);
  719. }
  720.  
  721.  
  722. /* method: somIsInstanceOf */
  723. boolean   somIsInstanceOf(SOMClass* aClassObj)
  724. {
  725.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somIsInstanceOf)
  726.     (this,aClassObj);
  727. }
  728.  
  729.  
  730. /* method: somRespondsTo */
  731. boolean   somRespondsTo(somId mId)
  732. {
  733.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somRespondsTo)
  734.     (this,mId);
  735. }
  736.  
  737.  
  738. /* va_list method: somDispatch */
  739.  
  740. /* the va_list invocation form */
  741. boolean   ODPersistentObject_somDispatch(somToken* retValue, 
  742.         somId methodId, 
  743.         va_list ap)
  744. {return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatch)
  745.     (this,retValue,methodId,ap);
  746. }
  747.  
  748. /* the varargs invocation form */
  749. boolean   somDispatch(somToken* retValue, 
  750.         somId methodId, 
  751.         ...)
  752. {
  753.    va_list ap;
  754.    va_start(ap, methodId);
  755.    boolean __somResult = 
  756.       SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatch)
  757.     (this,retValue,methodId,ap);
  758.    va_end(ap);
  759.    return __somResult;
  760. }
  761.  
  762.  
  763. /* va_list method: somClassDispatch */
  764.  
  765. /* the va_list invocation form */
  766. boolean   ODPersistentObject_somClassDispatch(SOMClass* clsObj, 
  767.         somToken* retValue, 
  768.         somId methodId, 
  769.         va_list ap)
  770. {return SOM_ResolveD(this,ODPersistentObject,SOMObject,somClassDispatch)
  771.     (this,clsObj,retValue,methodId,ap);
  772. }
  773.  
  774. /* the varargs invocation form */
  775. boolean   somClassDispatch(SOMClass* clsObj, 
  776.         somToken* retValue, 
  777.         somId methodId, 
  778.         ...)
  779. {
  780.    va_list ap;
  781.    va_start(ap, methodId);
  782.    boolean __somResult = 
  783.       SOM_ResolveD(this,ODPersistentObject,SOMObject,somClassDispatch)
  784.     (this,clsObj,retValue,methodId,ap);
  785.    va_end(ap);
  786.    return __somResult;
  787. }
  788.  
  789.  
  790. /* method: somCastObj */
  791. boolean   somCastObj(SOMClass* cls)
  792. {
  793.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somCastObj)
  794.     (this,cls);
  795. }
  796.  
  797.  
  798. /* method: somResetObj */
  799. boolean   somResetObj()
  800. {
  801.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somResetObj)
  802.     (this);
  803. }
  804.  
  805.  
  806. /* va_list method: somDispatchV */
  807.  
  808. /* the va_list invocation form */
  809. void   ODPersistentObject_somDispatchV(somId methodId, 
  810.         somId descriptor, 
  811.         va_list ap)
  812. {   SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchV)
  813.     (this,methodId,descriptor,ap);
  814. }
  815.  
  816. /* the varargs invocation form */
  817. void   somDispatchV(somId methodId, 
  818.         somId descriptor, 
  819.         ...)
  820. {
  821.    va_list ap;
  822.    va_start(ap, descriptor);
  823.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchV)
  824.     (this,methodId,descriptor,ap);
  825.    va_end(ap);
  826. }
  827.  
  828.  
  829. /* va_list method: somDispatchL */
  830.  
  831. /* the va_list invocation form */
  832. long   ODPersistentObject_somDispatchL(somId methodId, 
  833.         somId descriptor, 
  834.         va_list ap)
  835. {return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchL)
  836.     (this,methodId,descriptor,ap);
  837. }
  838.  
  839. /* the varargs invocation form */
  840. long   somDispatchL(somId methodId, 
  841.         somId descriptor, 
  842.         ...)
  843. {
  844.    va_list ap;
  845.    va_start(ap, descriptor);
  846.    long __somResult = 
  847.       SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchL)
  848.     (this,methodId,descriptor,ap);
  849.    va_end(ap);
  850.    return __somResult;
  851. }
  852.  
  853.  
  854. /* va_list method: somDispatchA */
  855.  
  856. /* the va_list invocation form */
  857. void*   ODPersistentObject_somDispatchA(somId methodId, 
  858.         somId descriptor, 
  859.         va_list ap)
  860. {return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchA)
  861.     (this,methodId,descriptor,ap);
  862. }
  863.  
  864. /* the varargs invocation form */
  865. void*   somDispatchA(somId methodId, 
  866.         somId descriptor, 
  867.         ...)
  868. {
  869.    va_list ap;
  870.    va_start(ap, descriptor);
  871.    void* __somResult = 
  872.       SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchA)
  873.     (this,methodId,descriptor,ap);
  874.    va_end(ap);
  875.    return __somResult;
  876. }
  877.  
  878.  
  879. /* va_list method: somDispatchD */
  880.  
  881. /* the va_list invocation form */
  882. double   ODPersistentObject_somDispatchD(somId methodId, 
  883.         somId descriptor, 
  884.         va_list ap)
  885. {return SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchD)
  886.     (this,methodId,descriptor,ap);
  887. }
  888.  
  889. /* the varargs invocation form */
  890. double   somDispatchD(somId methodId, 
  891.         somId descriptor, 
  892.         ...)
  893. {
  894.    va_list ap;
  895.    va_start(ap, descriptor);
  896.    double __somResult = 
  897.       SOM_ResolveD(this,ODPersistentObject,SOMObject,somDispatchD)
  898.     (this,methodId,descriptor,ap);
  899.    va_end(ap);
  900.    return __somResult;
  901. }
  902.  
  903.  
  904. /* method: somPrintSelf */
  905. SOMObject*   somPrintSelf()
  906. {
  907.    return SOM_ResolveD(this,ODPersistentObject,SOMObject,somPrintSelf)
  908.     (this);
  909. }
  910.  
  911.  
  912. /* method: somDumpSelf */
  913. void   somDumpSelf(long level)
  914. {
  915.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDumpSelf)
  916.     (this,level);
  917. }
  918.  
  919.  
  920. /* method: somDumpSelfInt */
  921. void   somDumpSelfInt(long level)
  922. {
  923.    SOM_ResolveD(this,ODPersistentObject,SOMObject,somDumpSelfInt)
  924.     (this,level);
  925. }
  926.  
  927.  
  928.  
  929. };   /* ODPersistentObject */
  930.  
  931.  
  932.  
  933. #endif       /* SOM_ODPersistentObject_xh */
  934.