home *** CD-ROM | disk | FTP | other *** search
- /*
- File: PstObj.h
-
- Contains: Class definition for XMPPersistentObject
-
- Written by: Vincent Lo
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <12> 1/27/94 VL Added ReleaseAll.
- <11> 1/11/94 Té Init... changes
- <10> 12/14/93 Té more InitPersistentObject changes.
- Internalize, Initialize went away.
- <9> 12/13/93 Té InitPersistentObject changes
- <8> 11/18/93 Té make InitializePersistent & Externalize not
- pure virtual
- <7> 9/29/93 VL Added InitializePersistent.
- <6> 8/9/93 NP Added class id string.
- <5> 7/21/93 NP Added a virtual keyword (temporary
- for ASLM).
- <4> 4/29/93 VL 8.3 Name Change.
- <3> 4/9/93 VL Added Constructor and Destructor.
- <2> 4/9/93 VL Added fID and fSU private fields.
- <1> 4/8/93 VL first checked in
-
- */
-
- #ifndef _PSTOBJ_
- #define _PSTOBJ_
-
- #ifndef _PLFMDEF_
- #include "PlfmDef.h"
- #endif
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- #ifndef _REFCTOBJ_
- #include "RefCtObj.h"
- #endif
-
- //==============================================================================
- // Theory of Operation
- //==============================================================================
-
- /*
- This file defines class XMPPersistentObject. This class is the common base
- class for all XMP classes whose objects require persistent storage.
- */
-
- //==============================================================================
- // Classes defined in this interface
- //==============================================================================
-
- class XMPPersistentObject;
-
- //==============================================================================
- // Classes used by this interface
- //==============================================================================
-
- class XMPStorageUnit;
-
- //==============================================================================
- // XMPObject
- //==============================================================================
-
- #define kXMPPersistentObjectID "appl:persistentobject$class,1.0.0"
-
- class XMPPersistentObject : public XMPRefCntObject
- {
- public:
-
- XMPPersistentObject();
-
- virtual ~XMPPersistentObject();
-
- XMPNVMethod void InitPersistentObject(XMPStorageUnit* storageUnit);
- XMPNVMethod void InitPersistentObjectFromStorage(XMPStorageUnit* storageUnit);
-
- XMPVMethod void ReleaseAll();
-
- XMPVMethod void Externalize();
-
- XMPVMethod XMPStorageUnit* GetStorageUnit();
-
- // Returns the storage unit of this object.
-
- XMPVMethod XMPID GetID();
-
- // Returns the ID of the object.
-
- private:
-
- XMPStorageUnit* fSU;
- XMPID fID;
- };
-
- #endif // _PSTOBJ_
-