124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- CFBundle.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// Created by Greg Clayton on 1/16/08. 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 1324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef __CFBundle_h__ 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define __CFBundle_h__ 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include "CFUtils.h" 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerclass CFBundle : public CFReleaser<CFBundleRef> 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerpublic: 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner //------------------------------------------------------------------ 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner // Constructors and Destructors 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner //------------------------------------------------------------------ 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFBundle(const char *path = NULL); 2624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFBundle(const CFBundle& rhs); 2724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFBundle& operator=(const CFBundle& rhs); 28a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton virtual 29a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton ~CFBundle(); 30a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton bool 31a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton SetPath (const char *path); 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 33a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton CFStringRef 34a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton GetIdentifier () const; 3524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 36a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton CFURLRef 37a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton CopyExecutableURL () const; 38a5c92b6c0af7b68ae999d9efd87a060255aa7a37Greg Clayton 3924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerprotected: 4024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner CFReleaser<CFURLRef> m_bundle_url; 4124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 4224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 4324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // #ifndef __CFBundle_h__ 44