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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: psma.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somp
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  */
  23.  
  24.  
  25. #ifndef SOM_SOMPPersistentStorageMgr_xh
  26. #define SOM_SOMPPersistentStorageMgr_xh
  27.  
  28. class SOMPPersistentStorageMgr;
  29.  
  30. /*
  31.  *  The Persistent Storage Manager is the primary interface for clients
  32.  *  of the Persistence Framework to read and write persistent objects
  33.  *  to/from storage.
  34.  * 
  35.  *  Only a single instance of this class exists in the Persistence Framework
  36.  *  by virtue of the metaclass SOMMSingleInstance.
  37.  */
  38.  
  39. #define SOMPPersistentStorageMgr_MajorVersion 2
  40. #define SOMPPersistentStorageMgr_MinorVersion 1
  41.  
  42. /* C++ SOM defs */
  43. #include <somcls.xh>
  44. #include <somcm.xh>
  45.  
  46. /* C++ parent defs */
  47. #ifndef SOM_SOMObject_xh
  48. #include <somobj.xh>
  49. #endif
  50.  
  51. /*
  52.  * C++ metaclass def
  53.  */
  54. #include <snglicls.xh>
  55.  
  56. #ifndef SOMPPersistentStorageMgr_API
  57. #define SOMPPersistentStorageMgr_API
  58. /*
  59.  * -- The Class API
  60.  */
  61.  
  62. /*
  63.  * Start of bindings for IDL types
  64.  */
  65.  
  66. class SOMClass;
  67. class SOMObject;
  68. class SOMPIOGroupMgrAbstract;
  69. class SOMPIOGroup;
  70. class SOMPNameSpaceMgr;
  71. class SOMPAscii;
  72. class SOMPKeyedSet;
  73. class SOMPPersistentId;
  74. class SOMPPersistentObject;
  75. #define SOMPPersistentStorageMgr_SOMP_STORING_ON 3 /* 3 */
  76. #define SOMPPersistentStorageMgr_SOMP_STORING_OFF 4 /* 4 */
  77. #define SOMPPersistentStorageMgr_SOMP_RESTORING_ON 5 /* 5 */
  78. #define SOMPPersistentStorageMgr_SOMP_RESTORING_OFF 6 /* 6 */
  79.  
  80. #ifndef SOM_DONT_USE_SHORT_NAMES
  81. #ifndef SOMTGD_SOMP_STORING_ON
  82.     #ifdef SOMP_STORING_ON
  83.         #undef SOMP_STORING_ON
  84.         #define SOMTGD_SOMP_STORING_ON 1
  85.     #else
  86.         #define SOMP_STORING_ON SOMPPersistentStorageMgr_SOMP_STORING_ON
  87.     #endif /* SOMP_STORING_ON */
  88. #endif /* SOMTGD_SOMP_STORING_ON */
  89. #ifndef SOMTGD_SOMP_STORING_OFF
  90.     #ifdef SOMP_STORING_OFF
  91.         #undef SOMP_STORING_OFF
  92.         #define SOMTGD_SOMP_STORING_OFF 1
  93.     #else
  94.         #define SOMP_STORING_OFF SOMPPersistentStorageMgr_SOMP_STORING_OFF
  95.     #endif /* SOMP_STORING_OFF */
  96. #endif /* SOMTGD_SOMP_STORING_OFF */
  97. #ifndef SOMTGD_SOMP_RESTORING_ON
  98.     #ifdef SOMP_RESTORING_ON
  99.         #undef SOMP_RESTORING_ON
  100.         #define SOMTGD_SOMP_RESTORING_ON 1
  101.     #else
  102.         #define SOMP_RESTORING_ON SOMPPersistentStorageMgr_SOMP_RESTORING_ON
  103.     #endif /* SOMP_RESTORING_ON */
  104. #endif /* SOMTGD_SOMP_RESTORING_ON */
  105. #ifndef SOMTGD_SOMP_RESTORING_OFF
  106.     #ifdef SOMP_RESTORING_OFF
  107.         #undef SOMP_RESTORING_OFF
  108.         #define SOMTGD_SOMP_RESTORING_OFF 1
  109.     #else
  110.         #define SOMP_RESTORING_OFF SOMPPersistentStorageMgr_SOMP_RESTORING_OFF
  111.     #endif /* SOMP_RESTORING_OFF */
  112. #endif /* SOMTGD_SOMP_RESTORING_OFF */
  113. #endif /* SOM_DONT_USE_SHORT_NAMES */
  114.  
  115. /*
  116.  * End of bindings for IDL types.
  117.  */
  118.  
  119. /* A procedure to create the SOMPPersistentStorageMgr Class */
  120. class SOMMSingleInstance;
  121. SOMEXTERN SOMMSingleInstance * SOMLINK SOMPPersistentStorageMgrNewClass(
  122.         integer4 majorVersion,
  123.         integer4 minorVersion);
  124.  
  125. /* The API to the SOMPPersistentStorageMgr class object, and the methods it introduces. */
  126. SOMEXTERN struct SOMPPersistentStorageMgrClassDataStructure {
  127.     SOMMSingleInstance *classObject;
  128.     somMToken sompStoreObject;
  129.     somMToken sompRestoreObject;
  130.     somMToken sompStoreObjectWithoutChildren;
  131.     somMToken sompRestoreObjectWithoutChildren;
  132.     somMToken sompDeleteObject;
  133.     somMToken sompObjectExists;
  134.     somMToken sompAddObjectToWriteSet;
  135.     somMToken sompRestoreObjectToNameSpace;
  136.     somMToken sompAddIdToReadSet;
  137.     somMToken sompRestoreStableObject;
  138.     somMToken sompAddRegisteredChildrenToReadSet;
  139.     somMToken sompPrepareWriteSet;
  140.     somMToken sompStoreWriteSet;
  141.     somMToken sompAddChildIfNecessary;
  142.     somMToken sompRemoveIOGroupFromSet;
  143.     somMToken sompRestoreObjectFromIdString;
  144.     somMToken sompSetPSMFlags;
  145.     somMToken sompRemoveObjectFromSet;
  146.     somMToken sompNewGroupMgr;
  147.     somMToken sompPSMInitThreadData;
  148.     somMToken sompPSMUninitThreadData;
  149.     somMToken sompPSMGetThreadData;
  150. } SOMDLINK SOMPPersistentStorageMgrClassData;
  151. #define _SOMPPersistentStorageMgr SOMPPersistentStorageMgrClassData.classObject
  152.  
  153. /* The API to parentMtabs for SOMPPersistentStorageMgr, and the instance data it introduces. */
  154. SOMEXTERN struct SOMPPersistentStorageMgrCClassDataStructure {
  155.     somMethodTabs parentMtab;
  156.     somDToken              instanceDataToken;
  157. } SOMDLINK SOMPPersistentStorageMgrCClassData;
  158.  
  159. /*
  160.  * -- Typedefs for SOMPPersistentStorageMgr Method Procedures
  161.  */
  162. SOMEXTERN {
  163. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompStoreObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  164.         SOMPPersistentObject* thisObject);
  165. typedef somTP_SOMPPersistentStorageMgr_sompStoreObject *somTD_SOMPPersistentStorageMgr_sompStoreObject;
  166. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  167.         SOMPPersistentId* objectID);
  168. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObject *somTD_SOMPPersistentStorageMgr_sompRestoreObject;
  169. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  170.         SOMPPersistentObject* thisObject);
  171. typedef somTP_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren *somTD_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren;
  172. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  173.         SOMPPersistentId* objectID);
  174. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren *somTD_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren;
  175. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompDeleteObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  176.         SOMPPersistentId* objectID);
  177. typedef somTP_SOMPPersistentStorageMgr_sompDeleteObject *somTD_SOMPPersistentStorageMgr_sompDeleteObject;
  178. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_sompObjectExists(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  179.         SOMPPersistentId* objectID);
  180. typedef somTP_SOMPPersistentStorageMgr_sompObjectExists *somTD_SOMPPersistentStorageMgr_sompObjectExists;
  181. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompAddObjectToWriteSet(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  182.         SOMPPersistentObject* thisObject);
  183. typedef somTP_SOMPPersistentStorageMgr_sompAddObjectToWriteSet *somTD_SOMPPersistentStorageMgr_sompAddObjectToWriteSet;
  184. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompAddIdToReadSet(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  185.         SOMPPersistentId* objectID);
  186. typedef somTP_SOMPPersistentStorageMgr_sompAddIdToReadSet *somTD_SOMPPersistentStorageMgr_sompAddIdToReadSet;
  187. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  188.         string idString);
  189. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString *somTD_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString;
  190.  
  191. /*
  192.  * -- Typedefs for Reintroduced Wrapper Methods
  193.  */
  194. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultInit(SOMPPersistentStorageMgr *somSelf, 
  195.         som3InitCtrl* ctrl);
  196. typedef somTP_SOMPPersistentStorageMgr_somDefaultInit *somTD_SOMPPersistentStorageMgr_somDefaultInit;
  197. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDestruct(SOMPPersistentStorageMgr *somSelf, 
  198.         octet doFree, 
  199.         som3DestructCtrl* ctrl);
  200. typedef somTP_SOMPPersistentStorageMgr_somDestruct *somTD_SOMPPersistentStorageMgr_somDestruct;
  201. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultCopyInit(SOMPPersistentStorageMgr *somSelf, 
  202.         som3InitCtrl* ctrl, 
  203.         SOMObject* fromObj);
  204. typedef somTP_SOMPPersistentStorageMgr_somDefaultCopyInit *somTD_SOMPPersistentStorageMgr_somDefaultCopyInit;
  205. typedef SOMPPersistentStorageMgr*   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultAssign(SOMPPersistentStorageMgr *somSelf, 
  206.         som3AssignCtrl* ctrl, 
  207.         SOMObject* fromObj);
  208. typedef somTP_SOMPPersistentStorageMgr_somDefaultAssign *somTD_SOMPPersistentStorageMgr_somDefaultAssign;
  209. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultConstCopyInit(SOMPPersistentStorageMgr *somSelf, 
  210.         som3InitCtrl* ctrl, 
  211.         SOMObject* fromObj);
  212. typedef somTP_SOMPPersistentStorageMgr_somDefaultConstCopyInit *somTD_SOMPPersistentStorageMgr_somDefaultConstCopyInit;
  213. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultVCopyInit(SOMPPersistentStorageMgr *somSelf, 
  214.         som3InitCtrl* ctrl, 
  215.         SOMObject* fromObj);
  216. typedef somTP_SOMPPersistentStorageMgr_somDefaultVCopyInit *somTD_SOMPPersistentStorageMgr_somDefaultVCopyInit;
  217. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultConstVCopyInit(SOMPPersistentStorageMgr *somSelf, 
  218.         som3InitCtrl* ctrl, 
  219.         SOMObject* fromObj);
  220. typedef somTP_SOMPPersistentStorageMgr_somDefaultConstVCopyInit *somTD_SOMPPersistentStorageMgr_somDefaultConstVCopyInit;
  221. typedef SOMPPersistentStorageMgr*   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultConstAssign(SOMPPersistentStorageMgr *somSelf, 
  222.         som3AssignCtrl* ctrl, 
  223.         SOMObject* fromObj);
  224. typedef somTP_SOMPPersistentStorageMgr_somDefaultConstAssign *somTD_SOMPPersistentStorageMgr_somDefaultConstAssign;
  225. typedef SOMPPersistentStorageMgr*   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultVAssign(SOMPPersistentStorageMgr *somSelf, 
  226.         som3AssignCtrl* ctrl, 
  227.         SOMObject* fromObj);
  228. typedef somTP_SOMPPersistentStorageMgr_somDefaultVAssign *somTD_SOMPPersistentStorageMgr_somDefaultVAssign;
  229. typedef SOMPPersistentStorageMgr*   SOMLINK somTP_SOMPPersistentStorageMgr_somDefaultConstVAssign(SOMPPersistentStorageMgr *somSelf, 
  230.         som3AssignCtrl* ctrl, 
  231.         SOMObject* fromObj);
  232. typedef somTP_SOMPPersistentStorageMgr_somDefaultConstVAssign *somTD_SOMPPersistentStorageMgr_somDefaultConstVAssign;
  233. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somInit(SOMPPersistentStorageMgr *somSelf);
  234. typedef somTP_SOMPPersistentStorageMgr_somInit *somTD_SOMPPersistentStorageMgr_somInit;
  235. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somFree(SOMPPersistentStorageMgr *somSelf);
  236. typedef somTP_SOMPPersistentStorageMgr_somFree *somTD_SOMPPersistentStorageMgr_somFree;
  237. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somUninit(SOMPPersistentStorageMgr *somSelf);
  238. typedef somTP_SOMPPersistentStorageMgr_somUninit *somTD_SOMPPersistentStorageMgr_somUninit;
  239. typedef SOMMSingleInstance*   SOMLINK somTP_SOMPPersistentStorageMgr_somGetClass(SOMPPersistentStorageMgr *somSelf);
  240. typedef somTP_SOMPPersistentStorageMgr_somGetClass *somTD_SOMPPersistentStorageMgr_somGetClass;
  241. typedef string   SOMLINK somTP_SOMPPersistentStorageMgr_somGetClassName(SOMPPersistentStorageMgr *somSelf);
  242. typedef somTP_SOMPPersistentStorageMgr_somGetClassName *somTD_SOMPPersistentStorageMgr_somGetClassName;
  243. typedef long   SOMLINK somTP_SOMPPersistentStorageMgr_somGetSize(SOMPPersistentStorageMgr *somSelf);
  244. typedef somTP_SOMPPersistentStorageMgr_somGetSize *somTD_SOMPPersistentStorageMgr_somGetSize;
  245. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somIsA(SOMPPersistentStorageMgr *somSelf, 
  246.         SOMClass* aClassObj);
  247. typedef somTP_SOMPPersistentStorageMgr_somIsA *somTD_SOMPPersistentStorageMgr_somIsA;
  248. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somIsInstanceOf(SOMPPersistentStorageMgr *somSelf, 
  249.         SOMClass* aClassObj);
  250. typedef somTP_SOMPPersistentStorageMgr_somIsInstanceOf *somTD_SOMPPersistentStorageMgr_somIsInstanceOf;
  251. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somRespondsTo(SOMPPersistentStorageMgr *somSelf, 
  252.         somId mId);
  253. typedef somTP_SOMPPersistentStorageMgr_somRespondsTo *somTD_SOMPPersistentStorageMgr_somRespondsTo;
  254. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somDispatch(SOMPPersistentStorageMgr *somSelf, 
  255.         somToken* retValue, 
  256.         somId methodId, 
  257.         va_list ap);
  258. typedef somTP_SOMPPersistentStorageMgr_somDispatch *somTD_SOMPPersistentStorageMgr_somDispatch;
  259. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somClassDispatch(SOMPPersistentStorageMgr *somSelf, 
  260.         SOMClass* clsObj, 
  261.         somToken* retValue, 
  262.         somId methodId, 
  263.         va_list ap);
  264. typedef somTP_SOMPPersistentStorageMgr_somClassDispatch *somTD_SOMPPersistentStorageMgr_somClassDispatch;
  265. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somCastObj(SOMPPersistentStorageMgr *somSelf, 
  266.         SOMClass* cls);
  267. typedef somTP_SOMPPersistentStorageMgr_somCastObj *somTD_SOMPPersistentStorageMgr_somCastObj;
  268. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_somResetObj(SOMPPersistentStorageMgr *somSelf);
  269. typedef somTP_SOMPPersistentStorageMgr_somResetObj *somTD_SOMPPersistentStorageMgr_somResetObj;
  270. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDispatchV(SOMPPersistentStorageMgr *somSelf, 
  271.         somId methodId, 
  272.         somId descriptor, 
  273.         va_list ap);
  274. typedef somTP_SOMPPersistentStorageMgr_somDispatchV *somTD_SOMPPersistentStorageMgr_somDispatchV;
  275. typedef long   SOMLINK somTP_SOMPPersistentStorageMgr_somDispatchL(SOMPPersistentStorageMgr *somSelf, 
  276.         somId methodId, 
  277.         somId descriptor, 
  278.         va_list ap);
  279. typedef somTP_SOMPPersistentStorageMgr_somDispatchL *somTD_SOMPPersistentStorageMgr_somDispatchL;
  280. typedef void*   SOMLINK somTP_SOMPPersistentStorageMgr_somDispatchA(SOMPPersistentStorageMgr *somSelf, 
  281.         somId methodId, 
  282.         somId descriptor, 
  283.         va_list ap);
  284. typedef somTP_SOMPPersistentStorageMgr_somDispatchA *somTD_SOMPPersistentStorageMgr_somDispatchA;
  285. typedef double   SOMLINK somTP_SOMPPersistentStorageMgr_somDispatchD(SOMPPersistentStorageMgr *somSelf, 
  286.         somId methodId, 
  287.         somId descriptor, 
  288.         va_list ap);
  289. typedef somTP_SOMPPersistentStorageMgr_somDispatchD *somTD_SOMPPersistentStorageMgr_somDispatchD;
  290. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_somPrintSelf(SOMPPersistentStorageMgr *somSelf);
  291. typedef somTP_SOMPPersistentStorageMgr_somPrintSelf *somTD_SOMPPersistentStorageMgr_somPrintSelf;
  292. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDumpSelf(SOMPPersistentStorageMgr *somSelf, 
  293.         long level);
  294. typedef somTP_SOMPPersistentStorageMgr_somDumpSelf *somTD_SOMPPersistentStorageMgr_somDumpSelf;
  295. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_somDumpSelfInt(SOMPPersistentStorageMgr *somSelf, 
  296.         long level);
  297. typedef somTP_SOMPPersistentStorageMgr_somDumpSelfInt *somTD_SOMPPersistentStorageMgr_somDumpSelfInt;
  298. }
  299.  
  300. #endif /* SOMPPersistentStorageMgr_API */
  301.  
  302.  
  303. /*
  304.  * -- This emitter treats Method Tokens as Thunks by default.
  305.  * -- Use the sc modifier "nothunks" to change this default
  306.  */
  307. #undef somresolve_
  308. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  309.  
  310. /*
  311.  * -- The C++ Wrapper Class for SOMPPersistentStorageMgr
  312.  */
  313. class SOMPPersistentStorageMgr : public SOMObject
  314. {
  315. /*
  316.  *  The Persistent Storage Manager is the primary interface for clients
  317.  *  of the Persistence Framework to read and write persistent objects
  318.  *  to/from storage.
  319.  * 
  320.  *  Only a single instance of this class exists in the Persistence Framework
  321.  *  by virtue of the metaclass SOMMSingleInstance.
  322.  */
  323. public:
  324.  
  325. // SOMPPersistentStorageMgr::new creates the class object if necessary, and then uses somNewNoInit
  326. // to allocate memory and create the object. Initialization is in ctors.
  327. void *operator new(size_t)
  328. {
  329.    if (!_SOMPPersistentStorageMgr) SOMPPersistentStorageMgrNewClass(SOMPPersistentStorageMgr_MajorVersion,SOMPPersistentStorageMgr_MinorVersion);
  330.    return (void*)
  331.       SOM_Resolve(_SOMPPersistentStorageMgr,SOMClass,somNewNoInit)
  332.          ((SOMClass *)((void*)_SOMPPersistentStorageMgr));
  333. }
  334.  
  335. // SOMPPersistentStorageMgr::delete uses somDestruct.
  336. void operator delete(void * obj)
  337. {
  338.    if (obj && *(void**)obj) {
  339.       SOM_Resolve(obj,SOMObject,somFree)
  340.          ((SOMObject*)obj);
  341.    }
  342. }
  343.  
  344. SOMPPersistentStorageMgr& operator=(SOMPPersistentStorageMgr& fromObj)
  345. {
  346.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  347.    return *this;
  348. }
  349.  
  350. SOMPPersistentStorageMgr()
  351. {
  352.    if (*(void**)this != 
  353.        ((somParentMtabStructPtr)
  354.         (SOMPPersistentStorageMgrCClassData.parentMtab))->mtab)
  355.       return;
  356.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  357. }
  358.  
  359. SOMPPersistentStorageMgr(SOMPPersistentStorageMgr* fromObj)
  360. {
  361.    if (*(void**)this != 
  362.        ((somParentMtabStructPtr)
  363.         (SOMPPersistentStorageMgrCClassData.parentMtab))->mtab)
  364.       return;
  365.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  366. }
  367.  
  368. #ifdef __IBMCPP__
  369. #pragma info(nocnv,nopar)
  370. #endif
  371. SOMPPersistentStorageMgr(const SOMPPersistentStorageMgr* fromObj)
  372. {
  373.    if (*(void**)this != 
  374.        ((somParentMtabStructPtr)
  375.         (SOMPPersistentStorageMgrCClassData.parentMtab))->mtab)
  376.       return;
  377.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  378. }
  379. #ifdef __IBMCPP__
  380. #pragma info(restore)
  381. #endif
  382.  
  383.  
  384. /* method: sompStoreObject */
  385. void   sompStoreObject(Environment *ev, 
  386.         SOMPPersistentObject* thisObject)
  387. {
  388. /*
  389.  *  Stores a persistent object and all its persistent children.
  390.  */
  391.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompStoreObject)
  392.     (this, ev,thisObject);
  393. }
  394.  
  395.  
  396. /* method: sompRestoreObject */
  397. SOMObject*   sompRestoreObject(Environment *ev, 
  398.         SOMPPersistentId* objectID)
  399. {
  400. /*
  401.  *  Restores an object and its children.
  402.  *  If error, returns NULL.
  403.  */
  404.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompRestoreObject)
  405.     (this, ev,objectID);
  406. }
  407.  
  408.  
  409. /* method: sompStoreObjectWithoutChildren */
  410. void   sompStoreObjectWithoutChildren(Environment *ev, 
  411.         SOMPPersistentObject* thisObject)
  412. {
  413. /*
  414.  *  Stores a persistent object.
  415.  */
  416.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompStoreObjectWithoutChildren)
  417.     (this, ev,thisObject);
  418. }
  419.  
  420.  
  421. /* method: sompRestoreObjectWithoutChildren */
  422. SOMObject*   sompRestoreObjectWithoutChildren(Environment *ev, 
  423.         SOMPPersistentId* objectID)
  424. {
  425. /*
  426.  *  Restores an object to a stable state.
  427.  *  If error, returns NULL.
  428.  */
  429.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompRestoreObjectWithoutChildren)
  430.     (this, ev,objectID);
  431. }
  432.  
  433.  
  434. /* method: sompDeleteObject */
  435. void   sompDeleteObject(Environment *ev, 
  436.         SOMPPersistentId* objectID)
  437. {
  438. /*
  439.  *  Delete the given persistent object.
  440.  * 
  441.  *  If the object is an in-memory object only, it is removed from the Name
  442.  *  Space Mgr and its in-memory IO Group object and then freed.  If the
  443.  *  object also previously existed in a stored IO Group, then the stored
  444.  *  IO Group is modified to indicate that the object has been removed.
  445.  */
  446.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompDeleteObject)
  447.     (this, ev,objectID);
  448. }
  449.  
  450.  
  451. /* method: sompObjectExists */
  452. boolean   sompObjectExists(Environment *ev, 
  453.         SOMPPersistentId* objectID)
  454. {
  455. /*
  456.  *  Checks to see if object exists.  If so, returns TRUE otherwise
  457.  *  returns FALSE.
  458.  */
  459.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompObjectExists)
  460.     (this, ev,objectID);
  461. }
  462.  
  463.  
  464. /* method: sompAddObjectToWriteSet */
  465. void   sompAddObjectToWriteSet(Environment *ev, 
  466.         SOMPPersistentObject* thisObject)
  467. {
  468. /*
  469.  *  Adds the given object to the set of objects being written by
  470.  *  sompStoreObject. An error occurs if this method is called
  471.  *  before sompStoreObject is called.
  472.  * 
  473.  *  This method provides a way for an object's encoder/decoder to add
  474.  *  a persistent object to the set to be written. This is useful for saving
  475.  *  persistent child objects which were not "registered" with their
  476.  *  parent object.
  477.  */
  478.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompAddObjectToWriteSet)
  479.     (this, ev,thisObject);
  480. }
  481.  
  482.  
  483. /* method: sompAddIdToReadSet */
  484. void   sompAddIdToReadSet(Environment *ev, 
  485.         SOMPPersistentId* objectID)
  486. {
  487. /*
  488.  *  This method adds the given persistent ID to the set of ID's which
  489.  *  represent the persistent object's to be restored by
  490.  *  sompRestoreObject.  If an error occurs the ID is not added to the read set.
  491.  * 
  492.  *  ID's can only be added to the read set following a call to
  493.  *  sompRestoreObject. It is expected that encoder/decoder
  494.  *  writers will make use of this method when restoring child objects.
  495.  *  For example:
  496.  *     1) decoder reads object ID in string form
  497.  *     2) decoder creates persistent ID object based on string
  498.  *     3) decoder calls sompAddIdToReadSet with the persistent ID.
  499.  */
  500.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompAddIdToReadSet)
  501.     (this, ev,objectID);
  502. }
  503.  
  504.  
  505. /* method: sompRestoreObjectFromIdString */
  506. SOMObject*   sompRestoreObjectFromIdString(Environment *ev, 
  507.         string idString)
  508. {
  509. /*
  510.  *  Instantiate a persistent ID from the given string and then restore
  511.  *  the object and its children.
  512.  *  If error, returns NULL.
  513.  */
  514.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMPPersistentStorageMgr,sompRestoreObjectFromIdString)
  515.     (this, ev,idString);
  516. }
  517.  
  518.  
  519. /*
  520.  * Reintroduce inherited methods
  521.  */
  522.  
  523. /* initializer method: somDefaultInit */
  524. void   somDefaultInit(som3InitCtrl* ctrl)
  525. {
  526. /*
  527.  *  A default initializer for a SOM object. Passing a null ctrl
  528.  *  indicates to the receiver that its class is the class of the
  529.  *  object being initialized, whereby the initializer will determine
  530.  *  an appropriate control structure.
  531.  */
  532.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultInit)
  533.     (this,ctrl);
  534. }
  535.  
  536.  
  537. /* method: somDestruct */
  538. void   somDestruct(octet doFree, 
  539.         som3DestructCtrl* ctrl)
  540. {
  541. /*
  542.  *  The default destructor for a SOM object. A nonzero <doFree>
  543.  *  indicates that the object storage should be freed by the
  544.  *  object's class (via somDeallocate) after uninitialization.
  545.  *  As with somDefaultInit, a null ctrl can be passed.
  546.  */
  547.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDestruct)
  548.     (this,doFree,ctrl);
  549. }
  550.  
  551.  
  552. /* initializer method: somDefaultCopyInit */
  553. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  554.         SOMObject* fromObj)
  555. {
  556. /*
  557.  *  A default copy constructor. Use this to make copies of objects for
  558.  *  calling methods with "by-value" argument semantics.
  559.  */
  560.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultCopyInit)
  561.     (this,ctrl,fromObj);
  562. }
  563.  
  564.  
  565. /* method: somDefaultAssign */
  566. SOMPPersistentStorageMgr*  somDefaultAssign(som3AssignCtrl* ctrl, 
  567.         SOMObject* fromObj)
  568. {
  569. /*
  570.  *  A default assignment operator. Use this to "assign" the state of one
  571.  *  object to another.
  572.  */
  573.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultAssign)
  574.     (this,ctrl,fromObj);
  575. }
  576.  
  577.  
  578. /* initializer method: somDefaultConstCopyInit */
  579. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  580.         SOMObject* fromObj)
  581. {
  582. /*
  583.  *  A default copy constructor that uses a const fromObj.
  584.  */
  585.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultConstCopyInit)
  586.     (this,ctrl,fromObj);
  587. }
  588.  
  589.  
  590. /* initializer method: somDefaultVCopyInit */
  591. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  592.         SOMObject* fromObj)
  593. {
  594. /*
  595.  *  A default copy constructor that uses a volatile fromObj.
  596.  */
  597.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultVCopyInit)
  598.     (this,ctrl,fromObj);
  599. }
  600.  
  601.  
  602. /* initializer method: somDefaultConstVCopyInit */
  603. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  604.         SOMObject* fromObj)
  605. {
  606. /*
  607.  *  A default copy constructor that uses a const volatile fromObj.
  608.  */
  609.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultConstVCopyInit)
  610.     (this,ctrl,fromObj);
  611. }
  612.  
  613.  
  614. /* method: somDefaultConstAssign */
  615. SOMPPersistentStorageMgr*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  616.         SOMObject* fromObj)
  617. {
  618. /*
  619.  *  A default assignment operator that uses a const fromObj.
  620.  */
  621.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultConstAssign)
  622.     (this,ctrl,fromObj);
  623. }
  624.  
  625.  
  626. /* method: somDefaultVAssign */
  627. SOMPPersistentStorageMgr*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  628.         SOMObject* fromObj)
  629. {
  630. /*
  631.  *  A default assignment operator that uses a volatile fromObj.
  632.  */
  633.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultVAssign)
  634.     (this,ctrl,fromObj);
  635. }
  636.  
  637.  
  638. /* method: somDefaultConstVAssign */
  639. SOMPPersistentStorageMgr*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  640.         SOMObject* fromObj)
  641. {
  642. /*
  643.  *  A default assignment operator that uses a const volatile fromObj.
  644.  */
  645.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDefaultConstVAssign)
  646.     (this,ctrl,fromObj);
  647. }
  648.  
  649.  
  650. /* method: somInit */
  651. void   somInit()
  652. {
  653. /*
  654.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  655.  */
  656.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somInit)
  657.     (this);
  658. }
  659.  
  660.  
  661. /* method: somFree */
  662. void   somFree()
  663. {
  664. /*
  665.  *  Use as directed by framework implementations.
  666.  */
  667.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somFree)
  668.     (this);
  669. }
  670.  
  671.  
  672. /* method: somUninit */
  673. void   somUninit()
  674. {
  675. /*
  676.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  677.  */
  678.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somUninit)
  679.     (this);
  680. }
  681.  
  682.  
  683. /* method: somGetClass */
  684. SOMMSingleInstance*  somGetClass()
  685. {
  686. /*
  687.  *  Return the receiver's class.
  688.  */
  689.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somGetClass)
  690.     (this);
  691. }
  692.  
  693.  
  694. /* method: somGetClassName */
  695. string   somGetClassName()
  696. {
  697. /*
  698.  *  Return the name of the receiver's class.
  699.  */
  700.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somGetClassName)
  701.     (this);
  702. }
  703.  
  704.  
  705. /* method: somGetSize */
  706. long   somGetSize()
  707. {
  708. /*
  709.  *  Return the size of the receiver.
  710.  */
  711.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somGetSize)
  712.     (this);
  713. }
  714.  
  715.  
  716. /* method: somIsA */
  717. boolean   somIsA(SOMClass* aClassObj)
  718. {
  719. /*
  720.  *  Returns 1 (true) if the receiver responds to methods
  721.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  722.  */
  723.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somIsA)
  724.     (this,aClassObj);
  725. }
  726.  
  727.  
  728. /* method: somIsInstanceOf */
  729. boolean   somIsInstanceOf(SOMClass* aClassObj)
  730. {
  731. /*
  732.  *  Returns 1 (true) if the receiver is an instance of
  733.  *  <aClassObj> and 0 (false) otherwise.
  734.  */
  735.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somIsInstanceOf)
  736.     (this,aClassObj);
  737. }
  738.  
  739.  
  740. /* method: somRespondsTo */
  741. boolean   somRespondsTo(somId mId)
  742. {
  743. /*
  744.  *  Returns 1 (true) if the indicated method can be invoked
  745.  *  on the receiver and 0 (false) otherwise.
  746.  */
  747.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somRespondsTo)
  748.     (this,mId);
  749. }
  750.  
  751.  
  752. /* va_list method: somDispatch */
  753.  
  754. /*
  755.  *  This method provides a generic, class-specific dispatch mechanism.
  756.  *  It accepts as input <retValue> a pointer to the memory area to be
  757.  *  loaded with the result of dispatching the method indicated by
  758.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  759.  *  on which the method is to be invoked as the first argument.
  760.  */
  761. /* the va_list invocation form */
  762. boolean   SOMPPersistentStorageMgr_somDispatch(somToken* retValue, 
  763.         somId methodId, 
  764.         va_list ap)
  765. {return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatch)
  766.     (this,retValue,methodId,ap);
  767. }
  768.  
  769. /* the varargs invocation form */
  770. boolean   somDispatch(somToken* retValue, 
  771.         somId methodId, 
  772.         ...)
  773. {
  774. /*
  775.  *  This method provides a generic, class-specific dispatch mechanism.
  776.  *  It accepts as input <retValue> a pointer to the memory area to be
  777.  *  loaded with the result of dispatching the method indicated by
  778.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  779.  *  on which the method is to be invoked as the first argument.
  780.  */
  781.    va_list ap;
  782.    va_start(ap, methodId);
  783.    boolean __somResult = 
  784.       SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatch)
  785.     (this,retValue,methodId,ap);
  786.    va_end(ap);
  787.    return __somResult;
  788. }
  789.  
  790.  
  791. /* va_list method: somClassDispatch */
  792.  
  793. /*
  794.  *  Like somDispatch, but method resolution for static methods is done
  795.  *  according to the clsObj instance method table.
  796.  */
  797. /* the va_list invocation form */
  798. boolean   SOMPPersistentStorageMgr_somClassDispatch(SOMClass* clsObj, 
  799.         somToken* retValue, 
  800.         somId methodId, 
  801.         va_list ap)
  802. {return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somClassDispatch)
  803.     (this,clsObj,retValue,methodId,ap);
  804. }
  805.  
  806. /* the varargs invocation form */
  807. boolean   somClassDispatch(SOMClass* clsObj, 
  808.         somToken* retValue, 
  809.         somId methodId, 
  810.         ...)
  811. {
  812. /*
  813.  *  Like somDispatch, but method resolution for static methods is done
  814.  *  according to the clsObj instance method table.
  815.  */
  816.    va_list ap;
  817.    va_start(ap, methodId);
  818.    boolean __somResult = 
  819.       SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somClassDispatch)
  820.     (this,clsObj,retValue,methodId,ap);
  821.    va_end(ap);
  822.    return __somResult;
  823. }
  824.  
  825.  
  826. /* method: somCastObj */
  827. boolean   somCastObj(SOMClass* cls)
  828. {
  829. /*
  830.  *  cast the receiving object to cls (which must be an ancestor of the
  831.  *  objects true class. Returns true on success.
  832.  */
  833.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somCastObj)
  834.     (this,cls);
  835. }
  836.  
  837.  
  838. /* method: somResetObj */
  839. boolean   somResetObj()
  840. {
  841. /*
  842.  *  reset an object to its true class. Returns true always.
  843.  */
  844.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somResetObj)
  845.     (this);
  846. }
  847.  
  848.  
  849. /* va_list method: somDispatchV */
  850.  
  851. /*
  852.  *  Obsolete. Use somDispatch instead.
  853.  */
  854. /* the va_list invocation form */
  855. void   SOMPPersistentStorageMgr_somDispatchV(somId methodId, 
  856.         somId descriptor, 
  857.         va_list ap)
  858. {   SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchV)
  859.     (this,methodId,descriptor,ap);
  860. }
  861.  
  862. /* the varargs invocation form */
  863. void   somDispatchV(somId methodId, 
  864.         somId descriptor, 
  865.         ...)
  866. {
  867. /*
  868.  *  Obsolete. Use somDispatch instead.
  869.  */
  870.    va_list ap;
  871.    va_start(ap, descriptor);
  872.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchV)
  873.     (this,methodId,descriptor,ap);
  874.    va_end(ap);
  875. }
  876.  
  877.  
  878. /* va_list method: somDispatchL */
  879.  
  880. /*
  881.  *  Obsolete. Use somDispatch instead.
  882.  */
  883. /* the va_list invocation form */
  884. long   SOMPPersistentStorageMgr_somDispatchL(somId methodId, 
  885.         somId descriptor, 
  886.         va_list ap)
  887. {return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchL)
  888.     (this,methodId,descriptor,ap);
  889. }
  890.  
  891. /* the varargs invocation form */
  892. long   somDispatchL(somId methodId, 
  893.         somId descriptor, 
  894.         ...)
  895. {
  896. /*
  897.  *  Obsolete. Use somDispatch instead.
  898.  */
  899.    va_list ap;
  900.    va_start(ap, descriptor);
  901.    long __somResult = 
  902.       SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchL)
  903.     (this,methodId,descriptor,ap);
  904.    va_end(ap);
  905.    return __somResult;
  906. }
  907.  
  908.  
  909. /* va_list method: somDispatchA */
  910.  
  911. /*
  912.  *  Obsolete. Use somDispatch instead.
  913.  */
  914. /* the va_list invocation form */
  915. void*   SOMPPersistentStorageMgr_somDispatchA(somId methodId, 
  916.         somId descriptor, 
  917.         va_list ap)
  918. {return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchA)
  919.     (this,methodId,descriptor,ap);
  920. }
  921.  
  922. /* the varargs invocation form */
  923. void*   somDispatchA(somId methodId, 
  924.         somId descriptor, 
  925.         ...)
  926. {
  927. /*
  928.  *  Obsolete. Use somDispatch instead.
  929.  */
  930.    va_list ap;
  931.    va_start(ap, descriptor);
  932.    void* __somResult = 
  933.       SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchA)
  934.     (this,methodId,descriptor,ap);
  935.    va_end(ap);
  936.    return __somResult;
  937. }
  938.  
  939.  
  940. /* va_list method: somDispatchD */
  941.  
  942. /*
  943.  *  Obsolete. Use somDispatch instead.
  944.  */
  945. /* the va_list invocation form */
  946. double   SOMPPersistentStorageMgr_somDispatchD(somId methodId, 
  947.         somId descriptor, 
  948.         va_list ap)
  949. {return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchD)
  950.     (this,methodId,descriptor,ap);
  951. }
  952.  
  953. /* the varargs invocation form */
  954. double   somDispatchD(somId methodId, 
  955.         somId descriptor, 
  956.         ...)
  957. {
  958. /*
  959.  *  Obsolete. Use somDispatch instead.
  960.  */
  961.    va_list ap;
  962.    va_start(ap, descriptor);
  963.    double __somResult = 
  964.       SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDispatchD)
  965.     (this,methodId,descriptor,ap);
  966.    va_end(ap);
  967.    return __somResult;
  968. }
  969.  
  970.  
  971. /* method: somPrintSelf */
  972. SOMObject*   somPrintSelf()
  973. {
  974. /*
  975.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  976.  *  information about this object.  The default implementation just gives
  977.  *  the object's class name and its address in memory.
  978.  *  <self> is returned.
  979.  */
  980.    return SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somPrintSelf)
  981.     (this);
  982. }
  983.  
  984.  
  985. /* method: somDumpSelf */
  986. void   somDumpSelf(long level)
  987. {
  988. /*
  989.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  990.  *  and its current state.
  991.  * 
  992.  *  <level> indicates the nesting level for describing compound objects
  993.  *  it must be greater than or equal to zero.  All lines in the
  994.  *  description will be preceeded by <2*level> spaces.
  995.  * 
  996.  *  This routine only actually writes the data that concerns the object
  997.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  998.  *  the object's current state.  This approach allows readable
  999.  *  descriptions of compound objects to be constructed.
  1000.  * 
  1001.  *  Generally it is not necessary to override this method, if it is
  1002.  *  overriden it generally must be completely replaced.
  1003.  */
  1004.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDumpSelf)
  1005.     (this,level);
  1006. }
  1007.  
  1008.  
  1009. /* method: somDumpSelfInt */
  1010. void   somDumpSelfInt(long level)
  1011. {
  1012. /*
  1013.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  1014.  *  Generally this method will need to be overridden.  When overriding
  1015.  *  it, begin by calling the parent class form of this method and then
  1016.  *  write in a description of your class's instance data. This will
  1017.  *  result in a description of all the object's instance data going
  1018.  *  from its root ancestor class to its specific class.
  1019.  */
  1020.    SOM_ResolveD(this,SOMPPersistentStorageMgr,SOMObject,somDumpSelfInt)
  1021.     (this,level);
  1022. }
  1023.  
  1024.  
  1025.  
  1026. };   /* SOMPPersistentStorageMgr */
  1027.  
  1028.  
  1029.  
  1030. #endif       /* SOM_SOMPPersistentStorageMgr_xh */
  1031.