home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Clipbd.h
-
- Contains: Class definition for XMPClipboard.
-
- Written by: Vincent Lo
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <12> 2/15/94 CC Bug #1142933 - Added key parameter to
- SetPlatformClipboard.
- <11> 2/4/94 VL Moved to PPC Header and began code cleanup.
- <10> 1/21/94 CC Replaced GetTimeStamp()with GetChangeID;
- Lock() returns boolean result and returns
- key in second parameter.
- <9> 1/14/94 CC Added type XMPClipboardKey, added key
- parameter to various routines, replaced
- GetGeneration() with GetTimeStamp.
- <8> 12/2/93 CC Added Lock(), Unlock(), and GetGeneration()
- <7> 10/27/93 CC Moved clipboard focus constant to
- Arbitrat.h
- <6> 10/27/93 CC Added methods to transfer to/from the
- platform clipboard.
- <5> 10/20/93 CC Added session parameter to XMPClipboard
- constructor; added SetPlatformClipboard
- method; added code to create the clipboard
- container.
- <4> 7/1/93 VL Made this into an abstract base class.
- <3> 4/29/93 VL 8.3 Name Change.
- <2> 4/23/93 VL Added Initialize and Purge.
- <1> 4/8/93 VL first checked in
-
- To Do:
- */
-
- #ifndef _CLIPBD_
- #define _CLIPBD_
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- #ifndef _XMPOBJ_
- #include "XMPObj.h"
- #endif
-
- //=====================================================================================
- // Types defined in this interface
- //=====================================================================================
- typedef XMPULong XMPClipboardKey;
-
- //=====================================================================================
- // Classes defined in this interface
- //=====================================================================================
- class XMPAbsClipboard;
-
- //=====================================================================================
- // Classes used by this interface
- //=====================================================================================
- class XMPStorageUnit;
- class XMPSession;
- class XMPPlatformTypeSet;
-
- //=====================================================================================
- // XMPClipboard
- //=====================================================================================
-
- class XMPAbsClipboard : public XMPObject
- {
- public:
-
- XMPAbsClipboard() : XMPObject() {}
-
- XMPVMethod ~XMPAbsClipboard() {}
-
- XMPVMethod XMPSize Purge(XMPSize size)
- = 0;
-
- XMPVMethod XMPBoolean Lock(XMPULong wait, XMPClipboardKey* key)
- = 0;
-
- XMPVMethod void Unlock(XMPClipboardKey key)
- = 0;
-
- XMPVMethod XMPChangeID GetChangeID()
- = 0;
-
- XMPVMethod void Clear(XMPClipboardKey key)
- = 0;
-
- XMPVMethod XMPStorageUnit* GetContentStorageUnit(XMPClipboardKey key)
- = 0;
-
- XMPVMethod void SetPlatformClipboard(
- XMPPlatformTypeSet* typeSet,
- XMPClipboardKey key)
- = 0;
-
- XMPVMethod void ExportClipboard(XMPClipboardKey key)
- = 0;
- };
-
- #ifdef PLATFORM_MACINTOSH
- #ifndef _CLIPBDM_
- #include "ClipbdM.h"
- #endif
- #endif
-
- #endif // _CLIPBD_
-