home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Extensn.h
-
- Contains: Interface to XMPExtension class
-
- Written by: Nick Pilch
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <7> 2/9/94 NP Tiger Team cleanup.
- <6> 1/14/94 NP Init changes.
- <5> 8/9/93 NP Added class id string.
- <4> 7/21/93 NP Added a virtual keyword (temporary for
- ASLM).
- <3> 4/28/93 NP File name changes.
- <2> 4/23/93 NP Fixed constructor.
- <1> 4/23/93 NP first checked in
-
- To Do:
- */
-
- #ifndef _EXTENSN_
- #define _EXTENSN_
-
- #ifndef _PLFMDEF_
- #include "PlfmDef.h"
- #endif
-
- //==============================================================================
- // Theory of Operation
- //==============================================================================
-
- /*
- XMPExtension is the abstract base class from which object extension interfaces
- are derived. The base class itself has minimal behavior. It knows which
- object it is an extension of, and how to release resources in itself and in
- its object. Further behavior should be implemented in derived classes.
- */
-
- //==============================================================================
- // Classes defined in this interface
- //==============================================================================
-
- class XMPExtension;
-
- //==============================================================================
- // Classes used by this interface
- //==============================================================================
-
- class XMPObject;
-
- //==============================================================================
- // XMPExtension
- //==============================================================================
-
- #define kXMPExtensionID "appl:extension$class,1.0.0"
-
- class XMPExtension
- {
- public:
-
- //-------------------------------------------------------------------------
- // From Extensions protocol
- //-------------------------------------------------------------------------
-
- XMPVMethod XMPObject* GetBase();
-
- XMPVMethod void Release()
- = 0;
-
- protected:
-
- XMPExtension();
- XMPNVMethod void InitExtension(XMPObject* base);
- virtual ~XMPExtension();
-
- private:
-
- XMPObject* fBase;
- };
-
-
- #endif // _EXTENSN_
-