]> git.saurik.com Git - apple/cf.git/blob - PlugIn.subproj/CFBundlePriv.h
CF-368.18.tar.gz
[apple/cf.git] / PlugIn.subproj / CFBundlePriv.h
1 /*
2 * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
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
24 Copyright (c) 1999-2005, Apple, Inc. All rights reserved.
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
131 CF_EXPORT
132 CFURLRef _CFBundleCopyMainBundleExecutableURL(Boolean *looksLikeBundle);
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
195 CF_EXPORT
196 CFStringRef _CFBundleCopyFileTypeForFileData(CFDataRef data);
197
198 CF_EXPORT
199 Boolean _CFBundleGetHasChanged(CFBundleRef bundle);
200
201 CF_EXPORT
202 void _CFBundleFlushCaches(void);
203
204 CF_EXPORT
205 void _CFBundleFlushCachesForURL(CFURLRef url);
206
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
250 SInt16 _CFBundleOpenBundleResourceFork(CFBundleRef bundle); // deprecated in favor of CFBundleOpenBundleResourceMap
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