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 15 class CFCBundle : public CFCReleaser<CFBundleRef> 16 { 17 public: 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 42 private: 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