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