/*
	File:		AERegist.h

	Contains:	AE Registry

	Written by:	Randy Moe

	Copyright:	c 1995 by Novell, Inc., all rights reserved.

	Change History (most recent first):

		31Mar95		RAM		Creation
	
	To Do:
*/

#ifndef _AEREGIST_
#define _AEREGIST_

#ifndef __APPLEEVENTS__
#include "applevnt.h"
#endif

//from aeregist.h
#define	cProperty LONGCONST('p','r','o','p')
#define	cWindow LONGCONST('c','w','i','n')
#define	cApplication LONGCONST('c','a','p','p')

#define	pIsStationeryPad LONGCONST('p','s','p','d')
#define	pBestType LONGCONST('p','b','s','t')
#define	pDefaultType LONGCONST('d','e','f','t')
#define	pName LONGCONST('p','n','a','m')
#define pColor LONGCONST('c','o','l','r')
#define	pVersion LONGCONST('v','e','r','s')
#define	pClass LONGCONST('p','c','l','s')
#define	pIsFrontProcess LONGCONST('p','i','s','f')
#define	pBounds LONGCONST('p','b','n','d')
#define	pContents LONGCONST('p','c','n','t')


#define	kAECoreSuite LONGCONST('c','o','r','e')
#define	kAEClone LONGCONST('c','l','o','n')
#define	kAEClose LONGCONST('c','l','o','s')
#define	kAECountElements LONGCONST('c','n','t','e')
#define	kAECreateElement LONGCONST('c','r','e','l')
#define	kAEDelete LONGCONST('d','o','e','x')
#define	kAEDoObjectsExist LONGCONST('d','o','e','x')
#define	kAEGetClassInfo LONGCONST('q','o','b','j')
#define	kAEGetData LONGCONST('g','e','t','d')
#define	kAEGetDataSize LONGCONST('d','s','i','z')
#define	kAEGetEventInfo LONGCONST('g','t','e','i')
#define	kAEMove LONGCONST('m','o','v','e')
#define	kAEOpen LONGCONST('o','d','o','c')
#define	kAEPrint LONGCONST('p','d','o','c')
#define	kAESave LONGCONST('s','a','v','e')
#define	kAESetData LONGCONST('s','e','t','d')
#define	keyAEFile LONGCONST('k','f','i','l')
#define	kAEAsk LONGCONST('a','s','k',' ')
#define	kAEYes LONGCONST('y','e','s',' ')
#define	kAENo LONGCONST('n','o',' ',' ')
#define	keyAESaveOptions LONGCONST('s','a','v','o')
#define	keyAEObjectClass LONGCONST('k','o','c','l')
#define	keyAEInsertHere LONGCONST('i','n','s','h')
#define	keyAEData LONGCONST('d','a','t','a')
#define	kAEEquals LONGCONST('=',' ',' ',' ')
#define	keyAERequestedType LONGCONST('r','t','y','p')
#define	keyAEResult LONGCONST('-','-','-','-')

#define	typeEnumeration LONGCONST('e','n','u','m')
#define	typeInsertionLoc LONGCONST('i','n','s','l')
#define	typeVersion LONGCONST('v','e','r','s')
#define	typeQDPoint LONGCONST('Q','D','p','t')
#define	typeQDRectangle LONGCONST('q','d','r','t')
#define	typeBest LONGCONST('b','e','s','t')

enum  {
	errAEBadKeyForm				= -10002,
	errAECantSupplyType			= -10009,
	errAENotModifiable			= -10003,
	errAENotAnElement			= -10008
};

//from asregist.h
#define	keySubjectAttr LONGCONST('s','u','b','j')
#define	typeAETE LONGCONST('a','e','t','e')

//from osa.h
#define kOSASuite LONGCONST('a','s','c','r')
#define kOSARecordedText LONGCONST('r','e','c','d')

//from appleeve.h (different than the applevnt.h I as using)
#define kAENotifyStartRecording LONGCONST('r','e','c','1')
#define kAENotifyStopRecording LONGCONST('r','e','c','0')

//from aepackob.h
extern "C" OSErr pascal CreateObjSpecifier(DescType desiredClass, AEDesc *theContainer, DescType keyForm, AEDesc *keyData, Boolean disposeInputs, AEDesc *objSpecifier);

#endif
