2
File: HIToolbox/Translation.h
4
Contains: Translation Manager (Macintosh Easy Open) Interfaces.
6
Version: HIToolbox-219.4.81~2
8
Copyright: � 1991-2005 by Apple Computer, Inc., all rights reserved.
10
Bugs?: For bug reports, consult the following page on
13
http://www.freepascal.org/bugs.html
16
{ Pascal Translation Updated: Peter N Lewis, <peter@stairways.com.au>, August 2005 }
18
Modified for use with Free Pascal
20
Please report any bugs to <gpc@microbizz.nl>
31
{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
32
{$setc GAP_INTERFACES_VERSION := $0200}
34
{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
35
{$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
38
{$ifc defined CPUPOWERPC and defined CPUI386}
39
{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
41
{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
42
{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
45
{$ifc not defined __ppc__ and defined CPUPOWERPC}
50
{$ifc not defined __i386__ and defined CPUI386}
56
{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
57
{$error Conflicting definitions for __ppc__ and __i386__}
60
{$ifc defined __ppc__ and __ppc__}
61
{$setc TARGET_CPU_PPC := TRUE}
62
{$setc TARGET_CPU_X86 := FALSE}
63
{$elifc defined __i386__ and __i386__}
64
{$setc TARGET_CPU_PPC := FALSE}
65
{$setc TARGET_CPU_X86 := TRUE}
67
{$error Neither __ppc__ nor __i386__ is defined.}
69
{$setc TARGET_CPU_PPC_64 := FALSE}
71
{$ifc defined FPC_BIG_ENDIAN}
72
{$setc TARGET_RT_BIG_ENDIAN := TRUE}
73
{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
74
{$elifc defined FPC_LITTLE_ENDIAN}
75
{$setc TARGET_RT_BIG_ENDIAN := FALSE}
76
{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
78
{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
80
{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
81
{$setc CALL_NOT_IN_CARBON := FALSE}
82
{$setc OLDROUTINENAMES := FALSE}
83
{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
84
{$setc OPAQUE_UPP_TYPES := TRUE}
85
{$setc OTCARBONAPPLICATION := TRUE}
86
{$setc OTKERNEL := FALSE}
87
{$setc PM_USE_SESSION_APIS := TRUE}
88
{$setc TARGET_API_MAC_CARBON := TRUE}
89
{$setc TARGET_API_MAC_OS8 := FALSE}
90
{$setc TARGET_API_MAC_OSX := TRUE}
91
{$setc TARGET_CARBON := TRUE}
92
{$setc TARGET_CPU_68K := FALSE}
93
{$setc TARGET_CPU_MIPS := FALSE}
94
{$setc TARGET_CPU_SPARC := FALSE}
95
{$setc TARGET_OS_MAC := TRUE}
96
{$setc TARGET_OS_UNIX := FALSE}
97
{$setc TARGET_OS_WIN32 := FALSE}
98
{$setc TARGET_RT_MAC_68881 := FALSE}
99
{$setc TARGET_RT_MAC_CFM := FALSE}
100
{$setc TARGET_RT_MAC_MACHO := TRUE}
101
{$setc TYPED_FUNCTION_POINTERS := TRUE}
102
{$setc TYPE_BOOL := FALSE}
103
{$setc TYPE_EXTENDED := FALSE}
104
{$setc TYPE_LONGLONG := TRUE}
105
uses MacTypes,Files,Components,TranslationExtensions;
111
Carbon clients should use Translation Services. The definitions below will NOT work for Carbon and
112
are only defined for those files that need to build pre-Carbon applications.
115
{ enumerated types on how a document can be opened}
117
DocOpenMethod = SInt16;
121
domTranslateFirst = 2;
124
{ 0L terminated array of OSTypes, or FileTypes}
126
TypesBlock = array [0..63] of OSType;
127
TypesBlockPtr = ^TypesBlock;
128
{ Progress dialog resource ID}
130
kTranslationScrapProgressDialogID = -16555;
132
{ block of data that describes how to translate}
134
FileTranslationSpecPtr = ^FileTranslationSpec;
135
FileTranslationSpec = record
136
componentSignature: OSType;
137
translationSystemInfo: UnivPtr;
142
FileTranslationSpecArray = array [0..$7F000000 div SizeOf(FileTranslationSpec)-1] of FileTranslationSpec;
143
FileTranslationSpecArrayPtr = ^FileTranslationSpecArray;
144
FileTranslationSpecArrayHandle = ^FileTranslationSpecArrayPtr;
147
* GetFileTypesThatAppCanNativelyOpen() *** DEPRECATED ***
150
* There is no direct replacement at this time.
152
* Mac OS X threading:
156
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
157
* CarbonLib: in CarbonLib 1.0 and later
158
* Non-Carbon CFM: in Translation 1.0 and later
160
function GetFileTypesThatAppCanNativelyOpen( appVRefNumHint: SInt16; appSignature: OSType; var nativeTypes: TypesBlock ): OSErr; external name '_GetFileTypesThatAppCanNativelyOpen';
161
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
165
* ExtendFileTypeList() *** DEPRECATED ***
168
* Use TranslationCreateWithSourceArray instead.
170
* Mac OS X threading:
174
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
175
* CarbonLib: in CarbonLib 1.0 and later
176
* Non-Carbon CFM: in Translation 1.0 and later
178
function ExtendFileTypeList( originalTypeList: {variable-size-array} FileTypePtr; numberOriginalTypes: SInt16; extendedTypeList: {variable-size-array} FileTypePtr; var numberExtendedTypes: SInt16 ): OSErr; external name '_ExtendFileTypeList';
179
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
183
* CanDocBeOpened() *** DEPRECATED ***
186
* Use the Launch Services API instead.
188
* Mac OS X threading:
192
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
193
* CarbonLib: in CarbonLib 1.0 and later
194
* Non-Carbon CFM: in Translation 1.0 and later
196
function CanDocBeOpened( const (*var*) targetDocument: FSSpec; appVRefNumHint: SInt16; appSignature: OSType; nativeTypes: {variable-size-array} FileTypePtr; onlyNative: Boolean; var howToOpen: DocOpenMethod; var howToTranslate: FileTranslationSpec ): OSErr; external name '_CanDocBeOpened';
197
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
201
* GetFileTranslationPaths() *** DEPRECATED ***
204
* Use TranslationCreateWithSourceArray instead.
206
* Mac OS X threading:
210
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
211
* CarbonLib: in CarbonLib 1.0 and later
212
* Non-Carbon CFM: in Translation 1.0 and later
214
function GetFileTranslationPaths( const (*var*) srcDocument: FSSpec; dstDocType: FileType; maxResultCount: UInt16; resultBuffer: FileTranslationSpecArrayPtr ): SInt16; external name '_GetFileTranslationPaths';
215
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
219
* GetPathFromTranslationDialog() *** DEPRECATED ***
222
* There is no direct replacement at this time, but all the
223
* necessary information can be obtained from the Launch Services,
224
* Translation Services and Uniform Type Identification APIs.
226
* Mac OS X threading:
230
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
231
* CarbonLib: in CarbonLib 1.0 and later
232
* Non-Carbon CFM: in Translation 1.0 and later
234
function GetPathFromTranslationDialog( const (*var*) theDocument: FSSpec; const (*var*) theApplication: FSSpec; typeList: TypesBlockPtr; var howToOpen: DocOpenMethod; var howToTranslate: FileTranslationSpec ): OSErr; external name '_GetPathFromTranslationDialog';
235
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
239
* TranslateFile() *** DEPRECATED ***
242
* Use TranslationPerformForFile or TranslationPerformForURL instead.
244
* Mac OS X threading:
248
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
249
* CarbonLib: in CarbonLib 1.0 and later
250
* Non-Carbon CFM: in Translation 1.0 and later
252
function TranslateFile( const (*var*) sourceDocument: FSSpec; const (*var*) destinationDocument: FSSpec; const (*var*) howToTranslate: FileTranslationSpec ): OSErr; external name '_TranslateFile';
253
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
257
* GetDocumentKindString() *** DEPRECATED ***
260
* Use the Launch Services API instead.
262
* Mac OS X threading:
266
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
267
* CarbonLib: in CarbonLib 1.0 and later
268
* Non-Carbon CFM: in Translation 1.0 and later
270
function GetDocumentKindString( docVRefNum: SInt16; docType: OSType; docCreator: OSType; var kindString: Str63 ): OSErr; external name '_GetDocumentKindString';
271
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
275
* GetTranslationExtensionName() *** DEPRECATED ***
278
* There is no direct replacement at this time, but
279
* TranslationCopySourceType and TranslationCopyDestinationType in
280
* conjunction with UTTypeCopyDescription will provide useful user
283
* Mac OS X threading:
287
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
288
* CarbonLib: in CarbonLib 1.0 and later
289
* Non-Carbon CFM: in Translation 1.0 and later
291
function GetTranslationExtensionName( const (*var*) translationMethod: FileTranslationSpec; var extensionName: Str31 ): OSErr; external name '_GetTranslationExtensionName';
292
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
296
* GetScrapDataProcPtr
299
GetScrapDataProcPtr = function( requestedFormat: ScrapType; dataH: Handle; srcDataGetterRefCon: UnivPtr ): OSErr;
300
GetScrapDataUPP = GetScrapDataProcPtr;
302
* NewGetScrapDataUPP()
305
* Mac OS X: in version 10.0 and later in Carbon.framework
306
* CarbonLib: in CarbonLib 1.0 and later
307
* Non-Carbon CFM: available as macro/inline
309
function NewGetScrapDataUPP( userRoutine: GetScrapDataProcPtr ): GetScrapDataUPP; external name '_NewGetScrapDataUPP';
310
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
313
* DisposeGetScrapDataUPP()
316
* Mac OS X: in version 10.0 and later in Carbon.framework
317
* CarbonLib: in CarbonLib 1.0 and later
318
* Non-Carbon CFM: available as macro/inline
320
procedure DisposeGetScrapDataUPP( userUPP: GetScrapDataUPP ); external name '_DisposeGetScrapDataUPP';
321
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
324
* InvokeGetScrapDataUPP()
327
* Mac OS X: in version 10.0 and later in Carbon.framework
328
* CarbonLib: in CarbonLib 1.0 and later
329
* Non-Carbon CFM: available as macro/inline
331
function InvokeGetScrapDataUPP( requestedFormat: ScrapType; dataH: Handle; srcDataGetterRefCon: UnivPtr; userUPP: GetScrapDataUPP ): OSErr; external name '_InvokeGetScrapDataUPP';
332
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)
335
GetScrapData = GetScrapDataUPP;
337
* TranslateScrap() *** DEPRECATED ***
340
* Use TranslationPerformForData instead.
342
* Mac OS X threading:
346
* Mac OS X: in version 10.0 and later in Carbon.framework but deprecated in 10.3
347
* CarbonLib: in CarbonLib 1.0 and later
348
* Non-Carbon CFM: in Translation 1.0 and later
350
function TranslateScrap( sourceDataGetter: GetScrapDataUPP; sourceDataGetterRefCon: UnivPtr; destinationFormat: ScrapType; destinationData: Handle; progressDialogID: SInt16 ): OSErr; external name '_TranslateScrap';
351
(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 *)