1//===-- CFCBundle.h ---------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef CoreFoundationCPP_CFBundle_h_ 11#define CoreFoundationCPP_CFBundle_h_ 12 13#include "CFCReleaser.h" 14 15class CFCBundle : public CFCReleaser<CFBundleRef> 16{ 17public: 18 //------------------------------------------------------------------ 19 // Constructors and Destructors 20 //------------------------------------------------------------------ 21 CFCBundle (const char *path = NULL); 22 CFCBundle (CFURLRef url); 23 24 virtual 25 ~CFCBundle(); 26 27 CFURLRef 28 CopyExecutableURL () const; 29 30 CFStringRef 31 GetIdentifier () const; 32 33 CFTypeRef 34 GetValueForInfoDictionaryKey(CFStringRef key) const; 35 36 bool 37 GetPath (char *dst, size_t dst_len); 38 39 bool 40 SetPath (const char *path); 41 42private: 43 // Disallow copy and assignment constructors 44 CFCBundle(const CFCBundle&); 45 46 const CFCBundle& 47 operator=(const CFCBundle&); 48}; 49 50#endif // #ifndef CoreFoundationCPP_CFBundle_h_ 51