home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Disptch.h
-
- Contains: Interface to XMPAbsDispatcher class.
-
- Written by: Richard Rodseth
-
- Copyright: ⌐ 1992-94 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <7> 2/9/94 NP Tiger Team cleanup.
- <6> 2/7/94 NP XMPAbsDispatcher
- <5> 2/7/94 NP Tiger Team doings.
- <4> 2/1/94 RR Added AddMonitor and RemoveMonitor
- <3> 1/26/94 RR Removed Idle methods (Mac only)
- <2> 1/21/94 RR Misc. cleanup
- <1> 1/15/94 RR first checked in
- <12> 12/20/93 RR Idle methods take a part and frame, renamed
- RegisterIdleFrame etc. -> RegisterIdle
- <11> 12/8/93 RR One class per file. XMPMethod -> XMPVMethod
- <10> 12/2/93 RR Use new eventType definition
- <9> 11/19/93 RR Removed event contstants for menu and
- mousedown in border (See PlfTypes.h)
- <8> 11/12/93 JBS use Facets
- <6> 6/26/93 RCR Reorganize for abstract base class
- <5> 6/18/93 RCR Added Yield
- <4> 4/29/93 RCR Rename RemoveIdleFrame -> UnregisterIdleFrame
- <3> 4/29/93 RCR Rename Includes
- <2> 4/23/93 RCR Added Initialize and Purge
- <1> 12/18/92 RCR first checked in
-
- To Do:
- */
-
- #ifndef _DISPTCH_
- #define _DISPTCH_
-
- #ifndef _XMPOBJ_
- #include "XMPObj.h"
- #endif
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- //=====================================================================================
- // Classes defined in this interface
- //=====================================================================================
-
- class XMPDispatcher;
-
- //=====================================================================================
- // Classes used by this interface
- //=====================================================================================
-
- class XMPDispatchModule;
- class XMPFacet;
- class XMPFrame;
- class XMPPart;
- class XMPSession;
-
- //=====================================================================================
- // XMPAbsDispatcher
- //=====================================================================================
-
- class XMPAbsDispatcher : public XMPObject
- {
- public:
-
- XMPAbsDispatcher() {}
-
- XMPVMethod ~XMPAbsDispatcher() {}
-
- XMPVMethod XMPSize Purge(XMPSize size)
- = 0;
-
- XMPVMethod void AddDispatchModule(XMPEventType eventType,
- XMPDispatchModule* dispatchModule)
- = 0;
-
- XMPVMethod void RemoveDispatchModule(XMPEventType eventType)
- = 0;
-
- XMPMethod void AddMonitor(XMPEventType eventType,XMPDispatchModule* dispatchModule)
- = 0;
-
- XMPVMethod void RemoveMonitor(XMPEventType eventType, XMPDispatchModule* dispatchModule)
- = 0;
-
- XMPVMethod XMPBoolean Dispatch(XMPEventData eventData)
- = 0;
-
- XMPVMethod void TerminateEventLoop()
- = 0;
-
- XMPVMethod XMPBoolean ShouldTerminateEventLoop()
- = 0;
- };
-
- #ifdef PLATFORM_MACINTOSH
- #ifndef _DISPATCHM_
- #include "DisptchM.h"
- #endif
- #endif
-
- #endif // _DISPTCH_
-