Show CFBundle.h syntax highlighted
/*
File: CFBundle.h
Contains: CoreFoundation bundle
Version: Technology: Mac OS X
Release: QuickTime 6.0.2
Copyright: (c) 1999-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __CFBUNDLE__
#define __CFBUNDLE__
#ifndef __CFBASE__
#include "CFBase.h"
#endif
#ifndef __CFARRAY__
#include "CFArray.h"
#endif
#ifndef __CFSTRING__
#include "CFString.h"
#endif
#ifndef __CFURL__
#include "CFURL.h"
#endif
#ifndef __CFDICTIONARY__
#include "CFDictionary.h"
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
typedef struct __CFBundle * CFBundleRef;
typedef struct __CFBundle * CFPlugInRef;
extern const CFStringRef kCFBundleInfoDictionaryVersionKey;
extern const CFStringRef kCFBundleExecutableKey;
extern const CFStringRef kCFBundleIdentifierKey;
extern const CFStringRef kCFBundleVersionKey;
extern const CFStringRef kCFBundleDevelopmentRegionKey;
extern const CFStringRef kCFBundleNameKey;
/* ===================== Finding Bundles ===================== */
EXTERN_API_C( CFBundleRef )
CFBundleGetMainBundle (void);
EXTERN_API_C( CFBundleRef )
CFBundleGetBundleWithIdentifier (CFStringRef bundleID);
/* A bundle can name itself by providing a key in the info dictionary. */
/* This facility is meant to allow bundle-writers to get hold of their */
/* bundle from their code without having to know where it was on the disk. */
/* This is meant to be a replacement mechanism for +bundleForClass: users. */
/* ===================== Creating Bundles ===================== */
EXTERN_API_C( UInt32 )
CFBundleGetTypeID (void);
EXTERN_API_C( CFBundleRef )
CFBundleCreate (CFAllocatorRef allocator,
CFURLRef bundleURL);
/* Might return an existing instance with the ref-count bumped. */
EXTERN_API_C( CFArrayRef )
CFBundleCreateBundlesFromDirectory (CFAllocatorRef allocator,
CFURLRef directoryURL,
CFStringRef bundleType);
/* Create instances for all bundles in the given directory matching the given */
/* type (or all of them if bundleType is NULL) */
/* ==================== Basic Bundle Info ==================== */
EXTERN_API_C( CFURLRef )
CFBundleCopyBundleURL (CFBundleRef bundle);
EXTERN_API_C( CFDictionaryRef )
CFBundleGetInfoDictionary (CFBundleRef bundle);
EXTERN_API_C( CFStringRef )
CFBundleGetIdentifier (CFBundleRef bundle);
EXTERN_API_C( CFStringRef )
CFBundleGetDevelopmentRegion (CFBundleRef bundle);
EXTERN_API_C( CFURLRef )
CFBundleCopySupportFilesDirectoryURL (CFBundleRef bundle);
EXTERN_API_C( CFURLRef )
CFBundleCopyResourcesDirectoryURL (CFBundleRef bundle);
/* ------------- Basic Bundle Info without a CFBundle instance ------------- */
/* This API is provided to enable developers to use access a bundle Info */
/* dictionary without having to create an instance of CFBundle. */
EXTERN_API_C( CFDictionaryRef )
CFBundleCopyInfoDictionaryInDirectory (CFURLRef bundleURL);
/* ==================== Resource Handling API ==================== */
EXTERN_API_C( CFURLRef )
CFBundleCopyResourceURL (CFBundleRef bundle,
CFStringRef resourceName,
CFStringRef resourceType,
CFStringRef subDirName);
EXTERN_API_C( CFArrayRef )
CFBundleCopyResourceURLsOfType (CFBundleRef bundle,
CFStringRef resourceType,
CFStringRef subDirName);
EXTERN_API_C( CFStringRef )
CFBundleCopyLocalizedString (CFBundleRef bundle,
CFStringRef key,
CFStringRef value,
CFStringRef tableName);
#define CFCopyLocalizedString(key, comment) CFBundleCopyLocalizedString(CFBundleGetMainBundle(), (key), (key), NULL)
#define CFCopyLocalizedStringFromTable(key, tbl, comment) CFBundleCopyLocalizedString(CFBundleGetMainBundle(), (key), (key), (tbl))
#define CFCopyLocalizedStringFromTableInBundle(key, tbl, bundle, comment) CFBundleCopyLocalizedString((bundle), (key), (key), (tbl))
/* ------------- Resource Handling without a CFBundle instance ------------- */
/* This API is provided to enable developers to use the CFBundle resource */
/* searching policy without having to create an instance of CFBundle. */
/* Because of caching behavior when a CFBundle instance exists, it will be faster */
/* to actually create a CFBundle if you need to access several resources. */
EXTERN_API_C( CFURLRef )
CFBundleCopyResourceURLInDirectory (CFURLRef bundleURL,
CFStringRef resourceName,
CFStringRef resourceType,
CFStringRef subDirName);
EXTERN_API_C( CFArrayRef )
CFBundleCopyResourceURLsOfTypeInDirectory (CFURLRef bundleURL,
CFStringRef resourceType,
CFStringRef subDirName);
/* ==================== Primitive Code Loading API ==================== */
/* This API abstracts the variosu different executable formats supported on various platforms. */
/* It can load DYLD, CFM, or DLL shared libraries (on their appropriate platforms) and gives a */
/* uniform API for looking up functions. */
EXTERN_API_C( CFURLRef )
CFBundleCopyExecutableURL (CFBundleRef bundle);
EXTERN_API_C( Boolean )
CFBundleIsExecutableLoaded (CFBundleRef bundle);
EXTERN_API_C( Boolean )
CFBundleLoadExecutable (CFBundleRef bundle);
EXTERN_API_C( void )
CFBundleUnloadExecutable (CFBundleRef bundle);
EXTERN_API_C( void *)
CFBundleGetFunctionPointerForName (CFBundleRef bundle,
CFStringRef functionName);
EXTERN_API_C( void )
CFBundleGetFunctionPointersForNames (CFBundleRef bundle,
CFArrayRef functionNames,
void * ftbl[]);
/* ==================== Getting a bundles plugIn ==================== */
EXTERN_API_C( CFPlugInRef )
CFBundleGetPlugIn (CFBundleRef bundle);
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __CFBUNDLE__ */
See more files for this project here