home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / PSTOBJ.IDL < prev    next >
Text File  |  1995-12-13  |  3KB  |  92 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15.  
  16. #ifndef _PSTOBJ_
  17. #define _PSTOBJ_
  18.  
  19. #ifndef _REFCTOBJ_
  20. #include "RefCtObj.idl"
  21. #endif
  22.  
  23. //==============================================================================
  24. // Theory of Operation
  25. //==============================================================================
  26.  
  27. /*
  28.   This file defines class ODPersistentObject.  This class is the common base
  29.   class for all OpenDoc classes whose objects require persistent storage.
  30. */
  31.  
  32. //==============================================================================
  33. // Classes defined in this interface
  34. //==============================================================================
  35.  
  36. interface  ODPersistentObject;
  37.  
  38. //==============================================================================
  39. // Classes used by this interface
  40. //==============================================================================
  41.  
  42. interface    ODStorageUnit;
  43. interface    ODFrame;
  44.  
  45. //==============================================================================
  46. // ODPersistentObject
  47. //==============================================================================
  48.  
  49. interface ODPersistentObject :  ODRefCntObject
  50. {
  51.   void  InitPersistentObject(in ODStorageUnit storageUnit);
  52.  
  53.   void  InitPersistentObjectFromStorage(in ODStorageUnit storageUnit);
  54.  
  55.   void  ReleaseAll();
  56.  
  57.   void  Externalize();
  58.  
  59.   ODStorageUnit  GetStorageUnit();
  60.  
  61.   ODID   GetID();
  62.  
  63.   void CloneInto(in ODDraftKey key,
  64.                               in ODStorageUnit toSU,
  65.                             in ODFrame scope);
  66.  
  67. #ifdef __SOMIDL__
  68.     implementation
  69.     {
  70.       functionprefix = ODPersistentObject;
  71.  
  72.       override:
  73.         somInit,
  74.         somUninit;
  75.  
  76.     releaseorder:
  77.         InitPersistentObject,
  78.         InitPersistentObjectFromStorage,
  79.         ReleaseAll,
  80.         Externalize,
  81.         GetStorageUnit,
  82.         GetID,
  83.         CloneInto;
  84.  
  85.  
  86.   };
  87. #endif
  88. };
  89.  
  90. #endif // _PSTOBJ_
  91.  
  92.