boot3/Toolbox/AppleEventMgr/AEHandlerTable.p
Elliot Nunn 5b0f0cc134 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 10:02:57 +08:00

129 lines
4.2 KiB
OpenEdge ABL

{
File: AEHandlerTable.p
Copyright: © 1990-1991 by Apple Computer, Inc., all rights reserved.
This file is used in these builds: BigBang
Change History (most recent first):
<2> 5/21/91 gbm Stop using the "empty" units (MemTypes, etc...)
<1> 12/13/90 Lai first checked in
To Do:
}
UNIT AEHandlerTable;
INTERFACE
USES
Types, Memory, Errors,
AppleEvents, AEHashTable, AEUtil;
{--------------------------------------------------------------------------------}
{ AppleEvent Manger calls provided by this unit }
FUNCTION AE_InstallEventHandler(theAEEventClass: AEEventClass;
theAEEventID: AEEventID;
theHandler: ProcPtr;
handlerRefcon: LongInt;
isSysHandler: Boolean): OSErr;
{ Add an AppleEvent Handler }
FUNCTION AE_RemoveEventHandler(theAEEventClass: AEEventClass;
theAEEventID: AEEventID;
theHandler: ProcPtr;
isSysHandler: Boolean): OSErr;
{ Remove one or more AppleEvent Handler }
FUNCTION AE_GetEventHandler(theAEEventClass: AEEventClass;
theAEEventID: AEEventID;
var theHandler: ProcPtr;
var handlerRefcon: LongInt;
isSysHandler: Boolean): OSErr;
{ Get the corresponding AppleEvent Handler }
{--------------------------------------------------------------------------------}
FUNCTION AE_InstallCoercionHandler(fromType: DescType;
toType: DescType;
theHandler: ProcPtr;
handlerRefcon: LongInt;
fromTypeAsDesc: Boolean;
isSysHandler: Boolean): OSErr;
{ Add an AppleEvent Handler }
FUNCTION AE_RemoveCoercionHandler(fromType: DescType;
toType: DescType;
theHandler: ProcPtr;
isSysHandler: Boolean): OSErr;
{ Remove one or more AppleEvent Handler }
FUNCTION AE_GetCoercionHandler (fromType: DescType;
toType: DescType;
var theHandler: ProcPtr;
var handlerRefcon: LongInt;
var fromTypeAsDesc: Boolean;
isSysHandler: Boolean): OSErr;
{ Get the corresponding AppleEvent Handler }
{--------------------------------------------------------------------------------}
FUNCTION AE_InstallSpecialHandler(functionClass: AEKeyWord;
handler: ProcPtr;
isSysHandler: BOOLEAN):OSErr;
{ Install the special handler named by the KeyWord }
FUNCTION AE_RemoveSpecialHandler(functionClass: AEKeyWord;
handler: ProcPtr;
isSysHandler: BOOLEAN):OSErr;
{ Remove the special handler named by the Keyword }
FUNCTION AE_GetSpecialHandler(functionClass: AEKeyWord;
VAR handler: ProcPtr;
isSysHandler: BOOLEAN):OSErr;
{ Get the special handler named by the Keyword }
{--------------------------------------------------------------------------------}
{ utilty routines for other part of the AppleEvents Manager }
FUNCTION AddToTable(key1, key2: OSType; { --> search keys }
theHandler: ProcPtr; { --> the handler }
handlerRefcon: LONGINT; { --> the refcon }
isSysHandler: Boolean; { --> system or application }
isSpecialHandler: Boolean; { --> type of handler }
isEventHandler: Boolean { --> eventhandler or coercion }
): OSErr;
FUNCTION RemoveFromTable(key1, key2: OSType;
theHandler: ProcPtr;
isSysHandler: Boolean;
isEventHandler: Boolean
): OSErr;
FUNCTION GetEventHandler(key1, key2: OSType; { --> key }
VAR theHandler: ProcPtr; { <-- return the procPtr }
VAR handlerRefcon: LONGINT; { <-- return the refcon }
VAR isSpecialHandler: Boolean; { <-- is it special handler ? }
isSysHandler: Boolean; { --> application or system ? }
isEventHandler: Boolean { --> event or coerecion ? }
): OSErr;
FUNCTION GetTableInfo(theTable: HHand; { --> handle to table }
key1, key2: OSType; { --> search these keys }
VAR theHandlerRec: HandlerRec { <-- return this ProcPtr record }
):BOOLEAN; { return true if found }
{--------------------------------------------------------------------------------}
IMPLEMENTATION
{$I AEHandlerTable.inc1.p}
END. { AEHandleTable }