{ File: Help/AppleHelp.h Contains: Apple Help Version: Help-36~232 Copyright: © 2000-2008 by Apple Computer, Inc., all rights reserved. Bugs?: For bug reports, consult the following page on the World Wide Web: http://www.freepascal.org/bugs.html } { Translation Updated: Jonas Maebe, , October 2009 } { Modified for use with Free Pascal Version 308 Please report any bugs to } {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE} {$mode macpas} {$packenum 1} {$macro on} {$inline on} {$calling mwpascal} unit AppleHelp; interface {$setc UNIVERSAL_INTERFACES_VERSION := $0400} {$setc GAP_INTERFACES_VERSION := $0308} {$ifc not defined USE_CFSTR_CONSTANT_MACROS} {$setc USE_CFSTR_CONSTANT_MACROS := TRUE} {$endc} {$ifc defined CPUPOWERPC and defined CPUI386} {$error Conflicting initial definitions for CPUPOWERPC and CPUI386} {$endc} {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN} {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN} {$endc} {$ifc not defined __ppc__ and defined CPUPOWERPC32} {$setc __ppc__ := 1} {$elsec} {$setc __ppc__ := 0} {$endc} {$ifc not defined __ppc64__ and defined CPUPOWERPC64} {$setc __ppc64__ := 1} {$elsec} {$setc __ppc64__ := 0} {$endc} {$ifc not defined __i386__ and defined CPUI386} {$setc __i386__ := 1} {$elsec} {$setc __i386__ := 0} {$endc} {$ifc not defined __x86_64__ and defined CPUX86_64} {$setc __x86_64__ := 1} {$elsec} {$setc __x86_64__ := 0} {$endc} {$ifc not defined __arm__ and defined CPUARM} {$setc __arm__ := 1} {$elsec} {$setc __arm__ := 0} {$endc} {$ifc defined cpu64} {$setc __LP64__ := 1} {$elsec} {$setc __LP64__ := 0} {$endc} {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__} {$error Conflicting definitions for __ppc__ and __i386__} {$endc} {$ifc defined __ppc__ and __ppc__} {$setc TARGET_CPU_PPC := TRUE} {$setc TARGET_CPU_PPC64 := FALSE} {$setc TARGET_CPU_X86 := FALSE} {$setc TARGET_CPU_X86_64 := FALSE} {$setc TARGET_CPU_ARM := FALSE} {$setc TARGET_OS_MAC := TRUE} {$setc TARGET_OS_IPHONE := FALSE} {$setc TARGET_IPHONE_SIMULATOR := FALSE} {$elifc defined __ppc64__ and __ppc64__} {$setc TARGET_CPU_PPC := FALSE} {$setc TARGET_CPU_PPC64 := TRUE} {$setc TARGET_CPU_X86 := FALSE} {$setc TARGET_CPU_X86_64 := FALSE} {$setc TARGET_CPU_ARM := FALSE} {$setc TARGET_OS_MAC := TRUE} {$setc TARGET_OS_IPHONE := FALSE} {$setc TARGET_IPHONE_SIMULATOR := FALSE} {$elifc defined __i386__ and __i386__} {$setc TARGET_CPU_PPC := FALSE} {$setc TARGET_CPU_PPC64 := FALSE} {$setc TARGET_CPU_X86 := TRUE} {$setc TARGET_CPU_X86_64 := FALSE} {$setc TARGET_CPU_ARM := FALSE} {$ifc defined(iphonesim)} {$setc TARGET_OS_MAC := FALSE} {$setc TARGET_OS_IPHONE := TRUE} {$setc TARGET_IPHONE_SIMULATOR := TRUE} {$elsec} {$setc TARGET_OS_MAC := TRUE} {$setc TARGET_OS_IPHONE := FALSE} {$setc TARGET_IPHONE_SIMULATOR := FALSE} {$endc} {$elifc defined __x86_64__ and __x86_64__} {$setc TARGET_CPU_PPC := FALSE} {$setc TARGET_CPU_PPC64 := FALSE} {$setc TARGET_CPU_X86 := FALSE} {$setc TARGET_CPU_X86_64 := TRUE} {$setc TARGET_CPU_ARM := FALSE} {$setc TARGET_OS_MAC := TRUE} {$setc TARGET_OS_IPHONE := FALSE} {$setc TARGET_IPHONE_SIMULATOR := FALSE} {$elifc defined __arm__ and __arm__} {$setc TARGET_CPU_PPC := FALSE} {$setc TARGET_CPU_PPC64 := FALSE} {$setc TARGET_CPU_X86 := FALSE} {$setc TARGET_CPU_X86_64 := FALSE} {$setc TARGET_CPU_ARM := TRUE} { will require compiler define when/if other Apple devices with ARM cpus ship } {$setc TARGET_OS_MAC := FALSE} {$setc TARGET_OS_IPHONE := TRUE} {$setc TARGET_IPHONE_SIMULATOR := FALSE} {$elsec} {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.} {$endc} {$ifc defined __LP64__ and __LP64__ } {$setc TARGET_CPU_64 := TRUE} {$elsec} {$setc TARGET_CPU_64 := FALSE} {$endc} {$ifc defined FPC_BIG_ENDIAN} {$setc TARGET_RT_BIG_ENDIAN := TRUE} {$setc TARGET_RT_LITTLE_ENDIAN := FALSE} {$elifc defined FPC_LITTLE_ENDIAN} {$setc TARGET_RT_BIG_ENDIAN := FALSE} {$setc TARGET_RT_LITTLE_ENDIAN := TRUE} {$elsec} {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.} {$endc} {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE} {$setc CALL_NOT_IN_CARBON := FALSE} {$setc OLDROUTINENAMES := FALSE} {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE} {$setc OPAQUE_UPP_TYPES := TRUE} {$setc OTCARBONAPPLICATION := TRUE} {$setc OTKERNEL := FALSE} {$setc PM_USE_SESSION_APIS := TRUE} {$setc TARGET_API_MAC_CARBON := TRUE} {$setc TARGET_API_MAC_OS8 := FALSE} {$setc TARGET_API_MAC_OSX := TRUE} {$setc TARGET_CARBON := TRUE} {$setc TARGET_CPU_68K := FALSE} {$setc TARGET_CPU_MIPS := FALSE} {$setc TARGET_CPU_SPARC := FALSE} {$setc TARGET_OS_UNIX := FALSE} {$setc TARGET_OS_WIN32 := FALSE} {$setc TARGET_RT_MAC_68881 := FALSE} {$setc TARGET_RT_MAC_CFM := FALSE} {$setc TARGET_RT_MAC_MACHO := TRUE} {$setc TYPED_FUNCTION_POINTERS := TRUE} {$setc TYPE_BOOL := FALSE} {$setc TYPE_EXTENDED := FALSE} {$setc TYPE_LONGLONG := TRUE} uses MacTypes,CFBase,Files,CFString; {$endc} {not MACOSALLINCLUDE} {$ifc TARGET_OS_MAC} {$ALIGN POWER} { AppleHelp Error Codes } const kAHInternalErr = -10790; kAHInternetConfigPrefErr = -10791; type AHTOCType = SInt16; const kAHTOCTypeUser = 0; kAHTOCTypeDeveloper = 1; { * AHSearch() * * Discussion: * Delivers a request to perform the specified search to the Help * Viewer application. * * Parameters: * * bookname: * Optionally, the AppleTitle of the Help book to be searched. If * NULL, all installed Help books are searched. * * query: * The query to be made. This string can, if desired, have boolean * operators or be a natural language phrase. * * Result: * An operating system result code that indicates whether the * request was successfully sent to the Help Viewer application. * Possible values: noErr, paramErr, kAHInternalErr. * * Availability: * Mac OS X: in version 10.0 and later in Carbon.framework * CarbonLib: in CarbonLib 1.1 and later * Non-Carbon CFM: not available } function AHSearch( bookname: CFStringRef; query: CFStringRef ): OSStatus; external name '_AHSearch'; (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *) { * AHGotoMainTOC() *** DEPRECATED *** * * Discussion: * Delivers a request to load the main table of contents of * installed help books to the Help Viewer application. This method * has been deprecated in Mac OS X 10.4. Instead, please use * AHGotoPage to jump directly to different books or anchors. * * Parameters: * * toctype: * The type of table of contents to be loaded: user or developer. * * Result: * An operating system result code that indicates whether the * request was successfully sent to the Help Viewer application. * Possible values: noErr, paramErr, kAHInternalErr. * * Availability: * Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.4 * CarbonLib: in CarbonLib 1.1 and later * Non-Carbon CFM: not available } function AHGotoMainTOC( toctype: AHTOCType ): OSStatus; external name '_AHGotoMainTOC'; (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *) { * AHGotoPage() * * Discussion: * Delivers a request to load a specific text/html file to the Help * Viewer application. * * Parameters: * * bookname: * Optionally, the AppleTitle of an installed Help book. If NULL, * the path parameter must be a full file: URL to the file to be * opened. * * path: * Optionally, one of two types of paths: 1) a URL-style path to a * file that is relative to the main folder of the book supplied * in the bookname parameter, or 2) if bookname is NULL, a full * file: URL to the file to be opened. If this parameter is NULL, * then bookname must not be NULL, and is used to open the Help * Viewer to the main page of Help content for the specified book. * * anchor: * Optionally, the name of anchor tag to scroll to in the newly * opened file. Can be NULL. * * Result: * An operating system result code that indicates whether the * request was successfully sent to the Help Viewer application. * Possible values: noErr, paramErr, kAHInternalErr. * * Availability: * Mac OS X: in version 10.0 and later in Carbon.framework * CarbonLib: in CarbonLib 1.1 and later * Non-Carbon CFM: not available } function AHGotoPage( bookname: CFStringRef; path: CFStringRef; anchor: CFStringRef ): OSStatus; external name '_AHGotoPage'; (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *) { * AHLookupAnchor() * * Discussion: * Delivers a request to perform an anchor lookup to the Help Viewer * application. Note: anchor lookups will fail unless you have * indexed your help content with anchor indexing turned on in the * indexing tool's preferences panel. * * Parameters: * * bookname: * Optionally, the AppleTitle of the Help book to searched. If * NULL, the anchor lookup is performed using all installed Help * books. * * anchor: * The name of the anchor tag to look up. * * Result: * An operating system result code that indicates whether the * request was successfully sent to the Help Viewer application. * Possible values: noErr, paramErr, kAHInternalErr. * * Availability: * Mac OS X: in version 10.0 and later in Carbon.framework * CarbonLib: in CarbonLib 1.1 and later * Non-Carbon CFM: not available } function AHLookupAnchor( bookname: CFStringRef; anchor: CFStringRef ): OSStatus; external name '_AHLookupAnchor'; (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *) { * AHRegisterHelpBook() * * Discussion: * Registers a book of Help content such that the book will appear * in the current user's main table of contents (Help Center) in the * Help Viewer application. To be used when help books reside * outside of the known help folders (i.e. help books that are kept * inside of application bundles). * * Parameters: * * appBundleRef: * An FSRef pointer to the bundle within which one or more Help * books is stored. This is likely an FSRef to your application's * main bundle. * * Result: * An operating system result code that indicates whether all help * books contained within the specified bundle were registered. * Possible values: noErr, paramErr, kAHInternalErr, dirNFErr. * * Availability: * Mac OS X: in version 10.0 and later in Carbon.framework * CarbonLib: in CarbonLib 1.1 and later * Non-Carbon CFM: not available } function AHRegisterHelpBook( const (*var*) appBundleRef: FSRef ): OSStatus; external name '_AHRegisterHelpBook'; (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *) function AHRegisterHelpBookWithURL( {const} applicationURL: CFURLRef ): OSStatus; external name '_AHRegisterHelpBookWithURL'; (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) {$endc} {TARGET_OS_MAC} {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE} end. {$endc} {not MACOSALLINCLUDE}