124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- CFCBundle.h ---------------------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef CoreFoundationCPP_CFBundle_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define CoreFoundationCPP_CFBundle_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include "CFCReleaser.h" 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerclass CFCBundle : public CFCReleaser<CFBundleRef> 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerpublic: 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner //------------------------------------------------------------------ 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner // Constructors and Destructors 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner //------------------------------------------------------------------ 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFCBundle (const char *path = NULL); 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFCBundle (CFURLRef url); 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner virtual 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner ~CFCBundle(); 2624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFURLRef 2824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CopyExecutableURL () const; 2924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFStringRef 3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetIdentifier () const; 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFTypeRef 3424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner GetValueForInfoDictionaryKey(CFStringRef key) const; 3524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool 379ce953807eb814a93b449dc243de4f7bf32c3115Greg Clayton GetPath (char *dst, size_t dst_len); 389ce953807eb814a93b449dc243de4f7bf32c3115Greg Clayton 399ce953807eb814a93b449dc243de4f7bf32c3115Greg Clayton bool 4024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner SetPath (const char *path); 4124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerprivate: 4324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner // Disallow copy and assignment constructors 4424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFCBundle(const CFCBundle&); 4524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner const CFCBundle& 4724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner operator=(const CFCBundle&); 4824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 4924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 5024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // #ifndef CoreFoundationCPP_CFBundle_h_ 51