home *** CD-ROM | disk | FTP | other *** search
- /*
- File: MssgIntf.h
-
- Contains: Messaging system class interface.
-
- Written by: Nick Pilch
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <19> 2/9/94 NP Tiger Team cleanup.
- <18> 2/8/94 JA Minor tweaks for CodeWarrior.
- <17> 2/7/94 NP Tiger Team doings.
- <16> 1/17/94 NP Removed consts from public API.
- <15> 1/14/94 NP Init changes.
- <14> 10/18/93 NP Removed code name.
- <13> 10/11/93 NP Added CreatePartObjSpec. Added parameter to
- CreatePartAddrDesc.
- <12> 8/23/93 NP Removed typedef from foreward decl.
- <11> 8/16/93 CG Removed ResetTimer, SuspendTheCurrentEvent,
- ResumeTheCurrentEvent, GetTheCurrentEvent,
- SetTheCurrentEvent, GetInteractionAllowed,
- SetInteractionAllowed, and InteractWithUser
- from the API.
- <10> 7/28/93 NP Removed constant kXMPAppShell to
- SemtIntf.h.
- <9> 7/26/93 CG Added CreatePartAddrDesc method.
- <8> 7/21/93 NP Added XMPUnused to eliminate compiler
- warning.
- <7> 7/12/93 CG Added fSession.
- <6> 7/2/93 CG Abstract/Concrete breakout.
- <5> 6/10/93 NP Added some private members.
- <4> 5/18/93 NP Updated constructor.
- <3> 4/28/93 NP File name changes.
- <2> 4/23/93 NP Added Initialize and Purge.
- <1> 4/13/93 NP first checked in
-
- To Do:
- */
-
- #ifndef _MSSGINTF_
- #define _MSSGINTF_
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- #ifndef _XMPOBJ_
- #include "XMPObj.h"
- #endif
-
- //==============================================================================
- // Classes defined in this interface
- //==============================================================================
-
- class XMPAbsMessageInterface;
-
- //==============================================================================
- // Classes used by this interface
- //==============================================================================
-
- class XMPObject;
- class XMPPart;
- class XMPShape;
- class XMPSETransactionList;
- class XMPSession;
-
- //==============================================================================
- // Scalar Types
- //==============================================================================
-
- typedef XMPBoolean (*XMPIdleProcPtr)(XMPPart* thePart,
- XMPEventData* theEventRecord,
- XMPULong sleepTime,
- XMPShape mouseRgn);
-
- typedef XMPBoolean (*XMPEventFilterProcPtr)(XMPPart* thePart,
- XMPEventData* theEventRecord,
- XMPSLong returnID,
- XMPSLong transactionID,
- AEAddressDesc sender);
- #if 0
- struct XMPNotificationRecord; // forward declaration
-
- typedef void (*XMPNotificationResponseProcPtr)
- (XMPPart* thePart,
- XMPNotificationRecord* notificationRecord);
-
- struct XMPNotificationRecord
- {
- XMPUShort itemToMark; /*item to mark in menu*/
- XMPIcon icon; /*handle to small icon*/
- XMPSound sound; /*handle to sound record*/
- XMPName alertString; /*string to appear in alert*/
- XMPNotificationResponseProcPtr responseFunction; /*pointer to response routine*/
- XMPSLong refCon; /*for application use*/
- };
- #endif // 0
- //==============================================================================
- // XMPMessageInterface
- //==============================================================================
-
- class XMPAbsMessageInterface : public XMPObject
- {
- public:
-
- XMPVMethod void CreatePartAddrDesc(AEDesc* theAddressDesc,
- XMPPart* part)
- =0;
-
- XMPVMethod void CreatePartObjSpec(AEDesc* theObjSpec, XMPPart* thePart)
- =0;
-
- XMPVMethod XMPSShort CreateEvent(AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- AEAddressDesc* target,
- XMPSLong transactionID,
- AppleEvent* result)
- = 0;
-
- XMPVMethod void Send(XMPPart* part,
- AppleEvent* theAppleEvent,
- AppleEvent* reply,
- AESendMode sendMode,
- AESendPriority sendPriority,
- XMPULong timeOutInTicks,
- XMPIdleProcPtr idleProc,
- XMPEventFilterProcPtr filterProc)
- = 0;
-
- XMPVMethod XMPBoolean ProcessSemanticEvent(XMPEventData theEvent)
- = 0;
-
- XMPVMethod XMPSize Purge(XMPSize howMuch)
- = 0;
-
- public: // Private by convention
-
- XMPAbsMessageInterface(){}
- XMPVMethod ~XMPAbsMessageInterface(){}
- };
-
- #ifdef PLATFORM_MACINTOSH
- #ifndef _MSSGINTM_
- #include "MssgIntM.h"
- #endif
- #endif
-
- #endif // _MSSGINTF_
-