]> git.saurik.com Git - apple/cf.git/blob - PlugIn.subproj/CFBundlePriv.h
CF-299.32.tar.gz
[apple/cf.git] / PlugIn.subproj / CFBundlePriv.h
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)
40 extern "C" {
41 #endif
42
43 /* Finder stuff */
44 CF_EXPORT
45 const CFStringRef _kCFBundlePackageTypeKey;
46 CF_EXPORT
47 const CFStringRef _kCFBundleSignatureKey;
48 CF_EXPORT
49 const CFStringRef _kCFBundleIconFileKey;
50 CF_EXPORT
51 const CFStringRef _kCFBundleDocumentTypesKey;
52 CF_EXPORT
53 const CFStringRef _kCFBundleURLTypesKey;
54
55 /* Localizable Finder stuff */
56 CF_EXPORT
57 const CFStringRef _kCFBundleDisplayNameKey;
58 CF_EXPORT
59 const CFStringRef _kCFBundleShortVersionStringKey;
60 CF_EXPORT
61 const CFStringRef _kCFBundleGetInfoStringKey;
62 CF_EXPORT
63 const CFStringRef _kCFBundleGetInfoHTMLKey;
64
65 /* Sub-keys for CFBundleDocumentTypes dictionaries */
66 CF_EXPORT
67 const CFStringRef _kCFBundleTypeNameKey;
68 CF_EXPORT
69 const CFStringRef _kCFBundleTypeRoleKey;
70 CF_EXPORT
71 const CFStringRef _kCFBundleTypeIconFileKey;
72 CF_EXPORT
73 const CFStringRef _kCFBundleTypeOSTypesKey;
74 CF_EXPORT
75 const CFStringRef _kCFBundleTypeExtensionsKey;
76 CF_EXPORT
77 const CFStringRef _kCFBundleTypeMIMETypesKey;
78
79 /* Sub-keys for CFBundleURLTypes dictionaries */
80 CF_EXPORT
81 const CFStringRef _kCFBundleURLNameKey;
82 CF_EXPORT
83 const CFStringRef _kCFBundleURLIconFileKey;
84 CF_EXPORT
85 const CFStringRef _kCFBundleURLSchemesKey;
86
87 /* Compatibility key names */
88 CF_EXPORT
89 const CFStringRef _kCFBundleOldExecutableKey;
90 CF_EXPORT
91 const CFStringRef _kCFBundleOldInfoDictionaryVersionKey;
92 CF_EXPORT
93 const CFStringRef _kCFBundleOldNameKey;
94 CF_EXPORT
95 const CFStringRef _kCFBundleOldIconFileKey;
96 CF_EXPORT
97 const CFStringRef _kCFBundleOldDocumentTypesKey;
98 CF_EXPORT
99 const CFStringRef _kCFBundleOldShortVersionStringKey;
100
101 /* Compatibility CFBundleDocumentTypes key names */
102 CF_EXPORT
103 const CFStringRef _kCFBundleOldTypeNameKey;
104 CF_EXPORT
105 const CFStringRef _kCFBundleOldTypeRoleKey;
106 CF_EXPORT
107 const CFStringRef _kCFBundleOldTypeIconFileKey;
108 CF_EXPORT
109 const CFStringRef _kCFBundleOldTypeExtensions1Key;
110 CF_EXPORT
111 const CFStringRef _kCFBundleOldTypeExtensions2Key;
112 CF_EXPORT
113 const CFStringRef _kCFBundleOldTypeOSTypesKey;
114
115
116 /* Functions for examining directories that may "look like" bundles */
117
118 CF_EXPORT
119 CFURLRef _CFBundleCopyBundleURLForExecutableURL(CFURLRef url);
120
121 CF_EXPORT
122 Boolean _CFBundleURLLooksLikeBundle(CFURLRef url);
123
124 CF_EXPORT
125 CFBundleRef _CFBundleCreateIfLooksLikeBundle(CFAllocatorRef allocator, CFURLRef url);
126
127 CF_EXPORT
128 CFBundleRef _CFBundleGetMainBundleIfLooksLikeBundle(void);
129
130 CF_EXPORT
131 CFBundleRef _CFBundleCreateWithExecutableURLIfLooksLikeBundle(CFAllocatorRef allocator, CFURLRef url);
132
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 Boolean _CFBundleGetHasChanged(CFBundleRef bundle);
197
198 CF_EXPORT
199 void _CFBundleFlushCaches(void);
200
201 CF_EXPORT
202 void _CFBundleSetStringsFilesShared(CFBundleRef bundle, Boolean flag);
203
204 CF_EXPORT
205 Boolean _CFBundleGetStringsFilesShared(CFBundleRef bundle);
206
207
208 /* Functions deprecated as SPI */
209
210 CF_EXPORT
211 CFDictionaryRef _CFBundleGetLocalInfoDictionary(CFBundleRef bundle); // deprecated in favor of CFBundleGetLocalInfoDictionary
212
213 CF_EXPORT
214 CFPropertyListRef _CFBundleGetValueForInfoKey(CFBundleRef bundle, CFStringRef key); // deprecated in favor of CFBundleGetValueForInfoDictionaryKey
215
216 CF_EXPORT
217 Boolean _CFBundleGetPackageInfoInDirectory(CFAllocatorRef alloc, CFURLRef url, UInt32 *packageType, UInt32 *packageCreator); // deprecated in favor of CFBundleGetPackageInfoInDirectory
218
219 CF_EXPORT
220 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
221
222 CF_EXPORT
223 CFURLRef _CFBundleCopyPrivateFrameworksURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopyPrivateFrameworksURL
224
225 CF_EXPORT
226 CFURLRef _CFBundleCopySharedFrameworksURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopySharedFrameworksURL
227
228 CF_EXPORT
229 CFURLRef _CFBundleCopySharedSupportURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopySharedSupportURL
230
231 CF_EXPORT
232 CFURLRef _CFBundleCopyBuiltInPlugInsURL(CFBundleRef bundle); // deprecated in favor of CFBundleCopyBuiltInPlugInsURL
233
234 CF_EXPORT
235 CFArrayRef _CFBundleCopyBundleRegionsArray(CFBundleRef bundle); // deprecated in favor of CFBundleCopyBundleLocalizations
236
237 CF_EXPORT
238 CFURLRef _CFBundleCopyResourceURLForLanguage(CFBundleRef bundle, CFStringRef resourceName, CFStringRef resourceType, CFStringRef subDirName, CFStringRef language); // deprecated in favor of CFBundleCopyResourceURLForLocalization
239
240 CF_EXPORT
241 CFArrayRef _CFBundleCopyResourceURLsOfTypeForLanguage(CFBundleRef bundle, CFStringRef resourceType, CFStringRef subDirName, CFStringRef language); // deprecated in favor of CFBundleCopyResourceURLsOfTypeForLocalization
242
243 CF_EXPORT
244 short _CFBundleOpenBundleResourceFork(CFBundleRef bundle); // deprecated in favor of CFBundleOpenBundleResourceMap
245
246 CF_EXPORT
247 void _CFBundleCloseBundleResourceFork(CFBundleRef bundle); // deprecated in favor of CFBundleCloseBundleResourceMap
248
249 #if defined(__cplusplus)
250 }
251 #endif
252
253 #endif /* ! __COREFOUNDATION_CFBUNDLEPRIV__ */
254