]> git.saurik.com Git - apple/cf.git/blame - PlugIn.subproj/CFBundlePriv.h
CF-299.35.tar.gz
[apple/cf.git] / PlugIn.subproj / CFBundlePriv.h
CommitLineData
9ce05555
A
1/*
2 * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25/* CFBundlePriv.h
26 Copyright (c) 1999-2003, Apple, Inc. All rights reserved.
27*/
28
29#if !defined(__COREFOUNDATION_CFBUNDLEPRIV__)
30#define __COREFOUNDATION_CFBUNDLEPRIV__ 1
31
32#include <CoreFoundation/CFBase.h>
33#include <CoreFoundation/CFArray.h>
34#include <CoreFoundation/CFBundle.h>
35#include <CoreFoundation/CFDictionary.h>
36#include <CoreFoundation/CFString.h>
37#include <CoreFoundation/CFURL.h>
38
39#if defined(__cplusplus)
40extern "C" {
41#endif
42
43/* Finder stuff */
44CF_EXPORT
45const CFStringRef _kCFBundlePackageTypeKey;
46CF_EXPORT
47const CFStringRef _kCFBundleSignatureKey;
48CF_EXPORT
49const CFStringRef _kCFBundleIconFileKey;
50CF_EXPORT
51const CFStringRef _kCFBundleDocumentTypesKey;
52CF_EXPORT
53const CFStringRef _kCFBundleURLTypesKey;
54
55/* Localizable Finder stuff */
56CF_EXPORT
57const CFStringRef _kCFBundleDisplayNameKey;
58CF_EXPORT
59const CFStringRef _kCFBundleShortVersionStringKey;
60CF_EXPORT
61const CFStringRef _kCFBundleGetInfoStringKey;
62CF_EXPORT
63const CFStringRef _kCFBundleGetInfoHTMLKey;
64
65/* Sub-keys for CFBundleDocumentTypes dictionaries */
66CF_EXPORT
67const CFStringRef _kCFBundleTypeNameKey;
68CF_EXPORT
69const CFStringRef _kCFBundleTypeRoleKey;
70CF_EXPORT
71const CFStringRef _kCFBundleTypeIconFileKey;
72CF_EXPORT
73const CFStringRef _kCFBundleTypeOSTypesKey;
74CF_EXPORT
75const CFStringRef _kCFBundleTypeExtensionsKey;
76CF_EXPORT
77const CFStringRef _kCFBundleTypeMIMETypesKey;
78
79/* Sub-keys for CFBundleURLTypes dictionaries */
80CF_EXPORT
81const CFStringRef _kCFBundleURLNameKey;
82CF_EXPORT
83const CFStringRef _kCFBundleURLIconFileKey;
84CF_EXPORT
85const CFStringRef _kCFBundleURLSchemesKey;
86
87/* Compatibility key names */
88CF_EXPORT
89const CFStringRef _kCFBundleOldExecutableKey;
90CF_EXPORT
91const CFStringRef _kCFBundleOldInfoDictionaryVersionKey;
92CF_EXPORT
93const CFStringRef _kCFBundleOldNameKey;
94CF_EXPORT
95const CFStringRef _kCFBundleOldIconFileKey;
96CF_EXPORT
97const CFStringRef _kCFBundleOldDocumentTypesKey;
98CF_EXPORT
99const CFStringRef _kCFBundleOldShortVersionStringKey;
100
101/* Compatibility CFBundleDocumentTypes key names */
102CF_EXPORT
103const CFStringRef _kCFBundleOldTypeNameKey;
104CF_EXPORT
105const CFStringRef _kCFBundleOldTypeRoleKey;
106CF_EXPORT
107const CFStringRef _kCFBundleOldTypeIconFileKey;
108CF_EXPORT
109const CFStringRef _kCFBundleOldTypeExtensions1Key;
110CF_EXPORT
111const CFStringRef _kCFBundleOldTypeExtensions2Key;
112CF_EXPORT
113const CFStringRef _kCFBundleOldTypeOSTypesKey;
114
115
116/* Functions for examining directories that may "look like" bundles */
117
118CF_EXPORT
119CFURLRef _CFBundleCopyBundleURLForExecutableURL(CFURLRef url);
120
121CF_EXPORT
122Boolean _CFBundleURLLooksLikeBundle(CFURLRef url);
123
124CF_EXPORT
125CFBundleRef _CFBundleCreateIfLooksLikeBundle(CFAllocatorRef allocator, CFURLRef url);
126
127CF_EXPORT
128CFBundleRef _CFBundleGetMainBundleIfLooksLikeBundle(void);
129
130CF_EXPORT
131CFBundleRef _CFBundleCreateWithExecutableURLIfLooksLikeBundle(CFAllocatorRef allocator, CFURLRef url);
132
133
134/* Functions for examining the structure of a bundle */
135
136CF_EXPORT
137CFURLRef _CFBundleCopyResourceForkURL(CFBundleRef bundle);
138
139CF_EXPORT
140CFURLRef _CFBundleCopyInfoPlistURL(CFBundleRef bundle);
141
142
143/* Functions for working without a bundle instance */
144
145CF_EXPORT
146CFURLRef _CFBundleCopyExecutableURLInDirectory(CFURLRef url);
147
148CF_EXPORT
149CFURLRef _CFBundleCopyOtherExecutableURLInDirectory(CFURLRef url);
150
151
152/* Functions for dealing with localizations */
153
154CF_EXPORT
155void _CFBundleGetLanguageAndRegionCodes(SInt32 *languageCode, SInt32 *regionCode);
156// may return -1 for either one if no code can be found
157
158CF_EXPORT
159Boolean CFBundleGetLocalizationInfoForLocalization(CFStringRef localizationName, SInt32 *languageCode, SInt32 *regionCode, SInt32 *scriptCode, CFStringEncoding *stringEncoding);
160 /* Gets the appropriate language and region codes, and the default */
161 /* script code and encoding, for the localization specified. */
162 /* Pass NULL for the localizationName to get these values for the */
163 /* single most preferred localization in the current context. */
164 /* May give -1 if there is no language or region code for a particular */
165 /* localization. Returns false if CFBundle has no information about */
166 /* the given localization. */
167
168CF_EXPORT
169CFStringRef CFBundleCopyLocalizationForLocalizationInfo(SInt32 languageCode, SInt32 regionCode, SInt32 scriptCode, CFStringEncoding stringEncoding);
170 /* Returns the default localization for the combination of codes */
171 /* specified. Pass in -1 for language, region code, or script code, or */
172 /* 0xFFFF for stringEncoding, if you do not wish to specify one of these. */
173
174CF_EXPORT
175void _CFBundleSetDefaultLocalization(CFStringRef localizationName);
176
177
178/* Functions for dealing specifically with CFM executables */
179
180CF_EXPORT
181void *_CFBundleGetCFMFunctionPointerForName(CFBundleRef bundle, CFStringRef funcName);
182
183CF_EXPORT
184void _CFBundleGetCFMFunctionPointersForNames(CFBundleRef bundle, CFArrayRef functionNames, void *ftbl[]);
185
186CF_EXPORT
187void _CFBundleSetCFMConnectionID(CFBundleRef bundle, void *connectionID);
188
189
190/* Miscellaneous functions */
191
192CF_EXPORT
193CFStringRef _CFBundleCopyFileTypeForFileURL(CFURLRef url);
194
195CF_EXPORT
196Boolean _CFBundleGetHasChanged(CFBundleRef bundle);
197
198CF_EXPORT
199void _CFBundleFlushCaches(void);
200
201CF_EXPORT
202void _CFBundleSetStringsFilesShared(CFBundleRef bundle, Boolean flag);
203
204CF_EXPORT
205Boolean _CFBundleGetStringsFilesShared(CFBundleRef bundle);
206
207
208/* Functions deprecated as SPI */
209
210CF_EXPORT
211CFDictionaryRef _CFBundleGetLocalInfoDictionary(CFBundleRef bundle); // deprecated in favor of CFBundleGetLocalInfoDictionary
212
213CF_EXPORT
214CFPropertyListRef _CFBundleGetValueForInfoKey(CFBundleRef bundle, CFStringRef key); // deprecated in favor of CFBundleGetValueForInfoDictionaryKey
215
216CF_EXPORT
217Boolean _CFBundleGetPackageInfoInDirectory(CFAllocatorRef alloc, CFURLRef url, UInt32 *packageType, UInt32 *packageCreator); // deprecated in favor of CFBundleGetPackageInfoInDirectory
218
219CF_EXPORT
220CFDictionaryRef _CFBundleCopyInfoDictionaryInResourceFork(CFURLRef url); // CFBundleCopyInfoDictionaryForURL is usually preferred; for the main bundle, however, no special call is necessary, since the info dictionary will automatically be available whether the app is bundled or not
221
222CF_EXPORT
223CFURLRef _CFBundleCopyPrivateFrameworksURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopyPrivateFrameworksURL
224
225CF_EXPORT
226CFURLRef _CFBundleCopySharedFrameworksURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopySharedFrameworksURL
227
228CF_EXPORT
229CFURLRef _CFBundleCopySharedSupportURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopySharedSupportURL
230
231CF_EXPORT
232CFURLRef _CFBundleCopyBuiltInPlugInsURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopyBuiltInPlugInsURL
233
234CF_EXPORT
235CFArrayRef _CFBundleCopyBundleRegionsArray(CFBundleRef bundle); // deprecated in favor of CFBundleCopyBundleLocalizations
236
237CF_EXPORT
238CFURLRef _CFBundleCopyResourceURLForLanguage(CFBundleRef bundle, CFStringRef resourceName, CFStringRef resourceType, CFStringRef subDirName, CFStringRef language); // deprecated in favor of CFBundleCopyResourceURLForLocalization
239
240CF_EXPORT
241CFArrayRef _CFBundleCopyResourceURLsOfTypeForLanguage(CFBundleRef bundle, CFStringRef resourceType, CFStringRef subDirName, CFStringRef language); // deprecated in favor of CFBundleCopyResourceURLsOfTypeForLocalization
242
243CF_EXPORT
244short _CFBundleOpenBundleResourceFork(CFBundleRef bundle); // deprecated in favor of CFBundleOpenBundleResourceMap
245
246CF_EXPORT
247void _CFBundleCloseBundleResourceFork(CFBundleRef bundle); // deprecated in favor of CFBundleCloseBundleResourceMap
248
249#if defined(__cplusplus)
250}
251#endif
252
253#endif /* ! __COREFOUNDATION_CFBUNDLEPRIV__ */
254