home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / psma.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  21KB  |  497 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: psma.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 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_h
  26. #define SOM_SOMPPersistentStorageMgr_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMPPersistentStorageMgr
  42. #define SOMPPersistentStorageMgr SOMObject
  43. #endif
  44. /*
  45.  *  The Persistent Storage Manager is the primary interface for clients
  46.  *  of the Persistence Framework to read and write persistent objects
  47.  *  to/from storage.
  48.  * 
  49.  *  Only a single instance of this class exists in the Persistence Framework
  50.  *  by virtue of the metaclass SOMMSingleInstance.
  51.  */
  52. #include <somobj.h>
  53.  
  54. /*
  55.  * Start of bindings for IDL types
  56.  */
  57.  
  58. #ifndef SOMClass
  59.     #define SOMClass SOMObject
  60. #endif /* SOMClass */
  61. #ifndef SOMPIOGroupMgrAbstract
  62.     #define SOMPIOGroupMgrAbstract SOMObject
  63. #endif /* SOMPIOGroupMgrAbstract */
  64. #ifndef SOMPIOGroup
  65.     #define SOMPIOGroup SOMObject
  66. #endif /* SOMPIOGroup */
  67. #ifndef SOMPNameSpaceMgr
  68.     #define SOMPNameSpaceMgr SOMObject
  69. #endif /* SOMPNameSpaceMgr */
  70. #ifndef SOMPAscii
  71.     #define SOMPAscii SOMObject
  72. #endif /* SOMPAscii */
  73. #ifndef SOMPKeyedSet
  74.     #define SOMPKeyedSet SOMObject
  75. #endif /* SOMPKeyedSet */
  76. #ifndef SOMPPersistentId
  77.     #define SOMPPersistentId SOMObject
  78. #endif /* SOMPPersistentId */
  79. #ifndef SOMPPersistentObject
  80.     #define SOMPPersistentObject SOMObject
  81. #endif /* SOMPPersistentObject */
  82. #define SOMPPersistentStorageMgr_SOMP_STORING_ON 3 /* 3 */
  83. #define SOMPPersistentStorageMgr_SOMP_STORING_OFF 4 /* 4 */
  84. #define SOMPPersistentStorageMgr_SOMP_RESTORING_ON 5 /* 5 */
  85. #define SOMPPersistentStorageMgr_SOMP_RESTORING_OFF 6 /* 6 */
  86.  
  87. #ifndef SOM_DONT_USE_SHORT_NAMES
  88. #ifndef SOMTGD_SOMP_STORING_ON
  89.     #ifdef SOMP_STORING_ON
  90.         #undef SOMP_STORING_ON
  91.         #define SOMTGD_SOMP_STORING_ON 1
  92.     #else
  93.         #define SOMP_STORING_ON SOMPPersistentStorageMgr_SOMP_STORING_ON
  94.     #endif /* SOMP_STORING_ON */
  95. #endif /* SOMTGD_SOMP_STORING_ON */
  96. #ifndef SOMTGD_SOMP_STORING_OFF
  97.     #ifdef SOMP_STORING_OFF
  98.         #undef SOMP_STORING_OFF
  99.         #define SOMTGD_SOMP_STORING_OFF 1
  100.     #else
  101.         #define SOMP_STORING_OFF SOMPPersistentStorageMgr_SOMP_STORING_OFF
  102.     #endif /* SOMP_STORING_OFF */
  103. #endif /* SOMTGD_SOMP_STORING_OFF */
  104. #ifndef SOMTGD_SOMP_RESTORING_ON
  105.     #ifdef SOMP_RESTORING_ON
  106.         #undef SOMP_RESTORING_ON
  107.         #define SOMTGD_SOMP_RESTORING_ON 1
  108.     #else
  109.         #define SOMP_RESTORING_ON SOMPPersistentStorageMgr_SOMP_RESTORING_ON
  110.     #endif /* SOMP_RESTORING_ON */
  111. #endif /* SOMTGD_SOMP_RESTORING_ON */
  112. #ifndef SOMTGD_SOMP_RESTORING_OFF
  113.     #ifdef SOMP_RESTORING_OFF
  114.         #undef SOMP_RESTORING_OFF
  115.         #define SOMTGD_SOMP_RESTORING_OFF 1
  116.     #else
  117.         #define SOMP_RESTORING_OFF SOMPPersistentStorageMgr_SOMP_RESTORING_OFF
  118.     #endif /* SOMP_RESTORING_OFF */
  119. #endif /* SOMTGD_SOMP_RESTORING_OFF */
  120. #endif /* SOM_DONT_USE_SHORT_NAMES */
  121.  
  122. /*
  123.  * End of bindings for IDL types.
  124.  */
  125.  
  126. #define SOMPPersistentStorageMgr_MajorVersion 2
  127. #define SOMPPersistentStorageMgr_MinorVersion 1
  128.  
  129. /*
  130.  * External name shortening if required
  131.  */
  132. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  133. #define SOMPPersistentStorageMgrNewClass c
  134. #pragma linkage(c, system)
  135. #define SOMPPersistentStorageMgrClassData d
  136. #define SOMPPersistentStorageMgrCClassData x
  137. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  138.  
  139. /*
  140.  * Include the metaclass file
  141.  */
  142. #ifndef SOM_SOMMSingleInstance_h
  143. #include <snglicls.h>
  144. #endif
  145. /*--------------Migration------------*/
  146. #define SOMPPersistentStorageMgr_classObj SOMPPersistentStorageMgrClassData.classObject
  147. #define _SOMPPersistentStorageMgr SOMPPersistentStorageMgr_classObj
  148.  
  149. /*
  150.  * Declare the class creation procedure
  151.  */
  152. SOMEXTERN SOMClass * SOMLINK SOMPPersistentStorageMgrNewClass(integer4 somtmajorVersion,
  153.         integer4 somtminorVersion);
  154. #pragma linkage(SOMPPersistentStorageMgrNewClass, system)
  155.  
  156. /*
  157.  * Declare the class data structure
  158.  */
  159. SOMEXTERN struct SOMPPersistentStorageMgrClassDataStructure {
  160.     SOMClass *classObject;
  161.     somMToken sompStoreObject;
  162.     somMToken sompRestoreObject;
  163.     somMToken sompStoreObjectWithoutChildren;
  164.     somMToken sompRestoreObjectWithoutChildren;
  165.     somMToken sompDeleteObject;
  166.     somMToken sompObjectExists;
  167.     somMToken sompAddObjectToWriteSet;
  168.     somMToken sompRestoreObjectToNameSpace;
  169.     somMToken sompAddIdToReadSet;
  170.     somMToken sompRestoreStableObject;
  171.     somMToken sompAddRegisteredChildrenToReadSet;
  172.     somMToken sompPrepareWriteSet;
  173.     somMToken sompStoreWriteSet;
  174.     somMToken sompAddChildIfNecessary;
  175.     somMToken sompRemoveIOGroupFromSet;
  176.     somMToken sompRestoreObjectFromIdString;
  177.     somMToken sompSetPSMFlags;
  178.     somMToken sompRemoveObjectFromSet;
  179.     somMToken sompNewGroupMgr;
  180.     somMToken sompPSMInitThreadData;
  181.     somMToken sompPSMUninitThreadData;
  182.     somMToken sompPSMGetThreadData;
  183. } SOMDLINK SOMPPersistentStorageMgrClassData;
  184.  
  185. /*
  186.  * Declare the C specific class data structure
  187.  */
  188. SOMEXTERN struct SOMPPersistentStorageMgrCClassDataStructure {
  189.     somMethodTabs parentMtab;
  190.     somDToken instanceDataToken;
  191. } SOMDLINK SOMPPersistentStorageMgrCClassData;
  192.  
  193. /*
  194.  * New and Renew macros for SOMPPersistentStorageMgr
  195.  */
  196. #define SOMPPersistentStorageMgrNew() \
  197.    ( _SOMPPersistentStorageMgr ? \
  198.     _somNew(_SOMPPersistentStorageMgr) \
  199.     : ( SOMPPersistentStorageMgrNewClass(\
  200.         SOMPPersistentStorageMgr_MajorVersion, \
  201.         SOMPPersistentStorageMgr_MinorVersion),\
  202.        _somNew(_SOMPPersistentStorageMgr)))
  203. #define SOMPPersistentStorageMgrRenew(buf) \
  204.    ( _SOMPPersistentStorageMgr ? \
  205.     _somRenew(_SOMPPersistentStorageMgr, buf) \
  206.     : ( SOMPPersistentStorageMgrNewClass(\
  207.         SOMPPersistentStorageMgr_MajorVersion, \
  208.         SOMPPersistentStorageMgr_MinorVersion),\
  209.        _somRenew(_SOMPPersistentStorageMgr, buf)))
  210.  
  211. /*
  212.  * Override method: somInit
  213.  */
  214. #define SOMPPersistentStorageMgr_somInit(somSelf) \
  215.     SOMObject_somInit(somSelf)
  216.  
  217. /*
  218.  * Override method: somUninit
  219.  */
  220. #define SOMPPersistentStorageMgr_somUninit(somSelf) \
  221.     SOMObject_somUninit(somSelf)
  222.  
  223. /*
  224.  * New Method: sompStoreObject
  225.  */
  226. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompStoreObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  227.         SOMPPersistentObject* thisObject);
  228. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompStoreObject, system)
  229. typedef somTP_SOMPPersistentStorageMgr_sompStoreObject *somTD_SOMPPersistentStorageMgr_sompStoreObject;
  230. /*
  231.  *  Stores a persistent object and all its persistent children.
  232.  */
  233. #define somMD_SOMPPersistentStorageMgr_sompStoreObject "::SOMPPersistentStorageMgr::sompStoreObject"
  234. #define SOMPPersistentStorageMgr_sompStoreObject(somSelf,ev,thisObject) \
  235.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompStoreObject) \
  236.     (somSelf,ev,thisObject))
  237. #ifndef SOMGD_sompStoreObject
  238.     #if (defined(_sompStoreObject) || defined(__sompStoreObject))
  239.         #undef _sompStoreObject
  240.         #undef __sompStoreObject
  241.         #define SOMGD_sompStoreObject 1
  242.     #else
  243.         #define _sompStoreObject SOMPPersistentStorageMgr_sompStoreObject
  244.     #endif /* _sompStoreObject */
  245. #endif /* SOMGD_sompStoreObject */
  246.  
  247. /*
  248.  * New Method: sompRestoreObject
  249.  */
  250. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  251.         SOMPPersistentId* objectID);
  252. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompRestoreObject, system)
  253. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObject *somTD_SOMPPersistentStorageMgr_sompRestoreObject;
  254. /*
  255.  *  Restores an object and its children.
  256.  *  If error, returns NULL.
  257.  */
  258. #define somMD_SOMPPersistentStorageMgr_sompRestoreObject "::SOMPPersistentStorageMgr::sompRestoreObject"
  259. #define SOMPPersistentStorageMgr_sompRestoreObject(somSelf,ev,objectID) \
  260.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompRestoreObject) \
  261.     (somSelf,ev,objectID))
  262. #ifndef SOMGD_sompRestoreObject
  263.     #if (defined(_sompRestoreObject) || defined(__sompRestoreObject))
  264.         #undef _sompRestoreObject
  265.         #undef __sompRestoreObject
  266.         #define SOMGD_sompRestoreObject 1
  267.     #else
  268.         #define _sompRestoreObject SOMPPersistentStorageMgr_sompRestoreObject
  269.     #endif /* _sompRestoreObject */
  270. #endif /* SOMGD_sompRestoreObject */
  271.  
  272. /*
  273.  * New Method: sompStoreObjectWithoutChildren
  274.  */
  275. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  276.         SOMPPersistentObject* thisObject);
  277. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren, system)
  278. typedef somTP_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren *somTD_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren;
  279. /*
  280.  *  Stores a persistent object.
  281.  */
  282. #define somMD_SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren "::SOMPPersistentStorageMgr::sompStoreObjectWithoutChildren"
  283. #define SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren(somSelf,ev,thisObject) \
  284.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompStoreObjectWithoutChildren) \
  285.     (somSelf,ev,thisObject))
  286. #ifndef SOMGD_sompStoreObjectWithoutChildren
  287.     #if (defined(_sompStoreObjectWithoutChildren) || defined(__sompStoreObjectWithoutChildren))
  288.         #undef _sompStoreObjectWithoutChildren
  289.         #undef __sompStoreObjectWithoutChildren
  290.         #define SOMGD_sompStoreObjectWithoutChildren 1
  291.     #else
  292.         #define _sompStoreObjectWithoutChildren SOMPPersistentStorageMgr_sompStoreObjectWithoutChildren
  293.     #endif /* _sompStoreObjectWithoutChildren */
  294. #endif /* SOMGD_sompStoreObjectWithoutChildren */
  295.  
  296. /*
  297.  * New Method: sompRestoreObjectWithoutChildren
  298.  */
  299. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  300.         SOMPPersistentId* objectID);
  301. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren, system)
  302. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren *somTD_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren;
  303. /*
  304.  *  Restores an object to a stable state.
  305.  *  If error, returns NULL.
  306.  */
  307. #define somMD_SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren "::SOMPPersistentStorageMgr::sompRestoreObjectWithoutChildren"
  308. #define SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren(somSelf,ev,objectID) \
  309.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompRestoreObjectWithoutChildren) \
  310.     (somSelf,ev,objectID))
  311. #ifndef SOMGD_sompRestoreObjectWithoutChildren
  312.     #if (defined(_sompRestoreObjectWithoutChildren) || defined(__sompRestoreObjectWithoutChildren))
  313.         #undef _sompRestoreObjectWithoutChildren
  314.         #undef __sompRestoreObjectWithoutChildren
  315.         #define SOMGD_sompRestoreObjectWithoutChildren 1
  316.     #else
  317.         #define _sompRestoreObjectWithoutChildren SOMPPersistentStorageMgr_sompRestoreObjectWithoutChildren
  318.     #endif /* _sompRestoreObjectWithoutChildren */
  319. #endif /* SOMGD_sompRestoreObjectWithoutChildren */
  320.  
  321. /*
  322.  * New Method: sompDeleteObject
  323.  */
  324. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompDeleteObject(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  325.         SOMPPersistentId* objectID);
  326. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompDeleteObject, system)
  327. typedef somTP_SOMPPersistentStorageMgr_sompDeleteObject *somTD_SOMPPersistentStorageMgr_sompDeleteObject;
  328. /*
  329.  *  Delete the given persistent object.
  330.  * 
  331.  *  If the object is an in-memory object only, it is removed from the Name
  332.  *  Space Mgr and its in-memory IO Group object and then freed.  If the
  333.  *  object also previously existed in a stored IO Group, then the stored
  334.  *  IO Group is modified to indicate that the object has been removed.
  335.  */
  336. #define somMD_SOMPPersistentStorageMgr_sompDeleteObject "::SOMPPersistentStorageMgr::sompDeleteObject"
  337. #define SOMPPersistentStorageMgr_sompDeleteObject(somSelf,ev,objectID) \
  338.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompDeleteObject) \
  339.     (somSelf,ev,objectID))
  340. #ifndef SOMGD_sompDeleteObject
  341.     #if (defined(_sompDeleteObject) || defined(__sompDeleteObject))
  342.         #undef _sompDeleteObject
  343.         #undef __sompDeleteObject
  344.         #define SOMGD_sompDeleteObject 1
  345.     #else
  346.         #define _sompDeleteObject SOMPPersistentStorageMgr_sompDeleteObject
  347.     #endif /* _sompDeleteObject */
  348. #endif /* SOMGD_sompDeleteObject */
  349.  
  350. /*
  351.  * New Method: sompObjectExists
  352.  */
  353. typedef boolean   SOMLINK somTP_SOMPPersistentStorageMgr_sompObjectExists(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  354.         SOMPPersistentId* objectID);
  355. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompObjectExists, system)
  356. typedef somTP_SOMPPersistentStorageMgr_sompObjectExists *somTD_SOMPPersistentStorageMgr_sompObjectExists;
  357. /*
  358.  *  Checks to see if object exists.  If so, returns TRUE otherwise
  359.  *  returns FALSE.
  360.  */
  361. #define somMD_SOMPPersistentStorageMgr_sompObjectExists "::SOMPPersistentStorageMgr::sompObjectExists"
  362. #define SOMPPersistentStorageMgr_sompObjectExists(somSelf,ev,objectID) \
  363.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompObjectExists) \
  364.     (somSelf,ev,objectID))
  365. #ifndef SOMGD_sompObjectExists
  366.     #if (defined(_sompObjectExists) || defined(__sompObjectExists))
  367.         #undef _sompObjectExists
  368.         #undef __sompObjectExists
  369.         #define SOMGD_sompObjectExists 1
  370.     #else
  371.         #define _sompObjectExists SOMPPersistentStorageMgr_sompObjectExists
  372.     #endif /* _sompObjectExists */
  373. #endif /* SOMGD_sompObjectExists */
  374.  
  375. /*
  376.  * New Method: sompAddObjectToWriteSet
  377.  */
  378. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompAddObjectToWriteSet(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  379.         SOMPPersistentObject* thisObject);
  380. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompAddObjectToWriteSet, system)
  381. typedef somTP_SOMPPersistentStorageMgr_sompAddObjectToWriteSet *somTD_SOMPPersistentStorageMgr_sompAddObjectToWriteSet;
  382. /*
  383.  *  Adds the given object to the set of objects being written by
  384.  *  sompStoreObject. An error occurs if this method is called
  385.  *  before sompStoreObject is called.
  386.  * 
  387.  *  This method provides a way for an object's encoder/decoder to add
  388.  *  a persistent object to the set to be written. This is useful for saving
  389.  *  persistent child objects which were not "registered" with their
  390.  *  parent object.
  391.  */
  392. #define somMD_SOMPPersistentStorageMgr_sompAddObjectToWriteSet "::SOMPPersistentStorageMgr::sompAddObjectToWriteSet"
  393. #define SOMPPersistentStorageMgr_sompAddObjectToWriteSet(somSelf,ev,thisObject) \
  394.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompAddObjectToWriteSet) \
  395.     (somSelf,ev,thisObject))
  396. #ifndef SOMGD_sompAddObjectToWriteSet
  397.     #if (defined(_sompAddObjectToWriteSet) || defined(__sompAddObjectToWriteSet))
  398.         #undef _sompAddObjectToWriteSet
  399.         #undef __sompAddObjectToWriteSet
  400.         #define SOMGD_sompAddObjectToWriteSet 1
  401.     #else
  402.         #define _sompAddObjectToWriteSet SOMPPersistentStorageMgr_sompAddObjectToWriteSet
  403.     #endif /* _sompAddObjectToWriteSet */
  404. #endif /* SOMGD_sompAddObjectToWriteSet */
  405.  
  406. /*
  407.  * New Method: sompAddIdToReadSet
  408.  */
  409. typedef void   SOMLINK somTP_SOMPPersistentStorageMgr_sompAddIdToReadSet(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  410.         SOMPPersistentId* objectID);
  411. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompAddIdToReadSet, system)
  412. typedef somTP_SOMPPersistentStorageMgr_sompAddIdToReadSet *somTD_SOMPPersistentStorageMgr_sompAddIdToReadSet;
  413. /*
  414.  *  This method adds the given persistent ID to the set of ID's which
  415.  *  represent the persistent object's to be restored by
  416.  *  sompRestoreObject.  If an error occurs the ID is not added to the read set.
  417.  * 
  418.  *  ID's can only be added to the read set following a call to
  419.  *  sompRestoreObject. It is expected that encoder/decoder
  420.  *  writers will make use of this method when restoring child objects.
  421.  *  For example:
  422.  *     1) decoder reads object ID in string form
  423.  *     2) decoder creates persistent ID object based on string
  424.  *     3) decoder calls sompAddIdToReadSet with the persistent ID.
  425.  */
  426. #define somMD_SOMPPersistentStorageMgr_sompAddIdToReadSet "::SOMPPersistentStorageMgr::sompAddIdToReadSet"
  427. #define SOMPPersistentStorageMgr_sompAddIdToReadSet(somSelf,ev,objectID) \
  428.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompAddIdToReadSet) \
  429.     (somSelf,ev,objectID))
  430. #ifndef SOMGD_sompAddIdToReadSet
  431.     #if (defined(_sompAddIdToReadSet) || defined(__sompAddIdToReadSet))
  432.         #undef _sompAddIdToReadSet
  433.         #undef __sompAddIdToReadSet
  434.         #define SOMGD_sompAddIdToReadSet 1
  435.     #else
  436.         #define _sompAddIdToReadSet SOMPPersistentStorageMgr_sompAddIdToReadSet
  437.     #endif /* _sompAddIdToReadSet */
  438. #endif /* SOMGD_sompAddIdToReadSet */
  439.  
  440. /*
  441.  * New Method: sompRestoreObjectFromIdString
  442.  */
  443. typedef SOMObject*   SOMLINK somTP_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString(SOMPPersistentStorageMgr *somSelf, Environment *ev, 
  444.         string idString);
  445. #pragma linkage(somTP_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString, system)
  446. typedef somTP_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString *somTD_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString;
  447. /*
  448.  *  Instantiate a persistent ID from the given string and then restore
  449.  *  the object and its children.
  450.  *  If error, returns NULL.
  451.  */
  452. #define somMD_SOMPPersistentStorageMgr_sompRestoreObjectFromIdString "::SOMPPersistentStorageMgr::sompRestoreObjectFromIdString"
  453. #define SOMPPersistentStorageMgr_sompRestoreObjectFromIdString(somSelf,ev,idString) \
  454.     (SOM_Resolve(somSelf, SOMPPersistentStorageMgr, sompRestoreObjectFromIdString) \
  455.     (somSelf,ev,idString))
  456. #ifndef SOMGD_sompRestoreObjectFromIdString
  457.     #if (defined(_sompRestoreObjectFromIdString) || defined(__sompRestoreObjectFromIdString))
  458.         #undef _sompRestoreObjectFromIdString
  459.         #undef __sompRestoreObjectFromIdString
  460.         #define SOMGD_sompRestoreObjectFromIdString 1
  461.     #else
  462.         #define _sompRestoreObjectFromIdString SOMPPersistentStorageMgr_sompRestoreObjectFromIdString
  463.     #endif /* _sompRestoreObjectFromIdString */
  464. #endif /* SOMGD_sompRestoreObjectFromIdString */
  465. #ifndef SOM_DONT_USE_INHERITED_MACROS
  466. #define SOMPPersistentStorageMgr_somDefaultInit SOMObject_somDefaultInit
  467. #define SOMPPersistentStorageMgr_somDestruct SOMObject_somDestruct
  468. #define SOMPPersistentStorageMgr_somDefaultCopyInit SOMObject_somDefaultCopyInit
  469. #define SOMPPersistentStorageMgr_somDefaultAssign SOMObject_somDefaultAssign
  470. #define SOMPPersistentStorageMgr_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  471. #define SOMPPersistentStorageMgr_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  472. #define SOMPPersistentStorageMgr_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  473. #define SOMPPersistentStorageMgr_somDefaultConstAssign SOMObject_somDefaultConstAssign
  474. #define SOMPPersistentStorageMgr_somDefaultVAssign SOMObject_somDefaultVAssign
  475. #define SOMPPersistentStorageMgr_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  476. #define SOMPPersistentStorageMgr_somFree SOMObject_somFree
  477. #define SOMPPersistentStorageMgr_somGetClass SOMObject_somGetClass
  478. #define SOMPPersistentStorageMgr_somGetClassName SOMObject_somGetClassName
  479. #define SOMPPersistentStorageMgr_somGetSize SOMObject_somGetSize
  480. #define SOMPPersistentStorageMgr_somIsA SOMObject_somIsA
  481. #define SOMPPersistentStorageMgr_somIsInstanceOf SOMObject_somIsInstanceOf
  482. #define SOMPPersistentStorageMgr_somRespondsTo SOMObject_somRespondsTo
  483. #define SOMPPersistentStorageMgr_somDispatch SOMObject_somDispatch
  484. #define SOMPPersistentStorageMgr_somClassDispatch SOMObject_somClassDispatch
  485. #define SOMPPersistentStorageMgr_somCastObj SOMObject_somCastObj
  486. #define SOMPPersistentStorageMgr_somResetObj SOMObject_somResetObj
  487. #define SOMPPersistentStorageMgr_somDispatchV SOMObject_somDispatchV
  488. #define SOMPPersistentStorageMgr_somDispatchL SOMObject_somDispatchL
  489. #define SOMPPersistentStorageMgr_somDispatchA SOMObject_somDispatchA
  490. #define SOMPPersistentStorageMgr_somDispatchD SOMObject_somDispatchD
  491. #define SOMPPersistentStorageMgr_somPrintSelf SOMObject_somPrintSelf
  492. #define SOMPPersistentStorageMgr_somDumpSelf SOMObject_somDumpSelf
  493. #define SOMPPersistentStorageMgr_somDumpSelfInt SOMObject_somDumpSelfInt
  494. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  495.  
  496. #endif       /* SOM_SOMPPersistentStorageMgr_h */
  497.