brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 398817f Raw
40 lines · c
1//===-- CFCBundle.h ---------------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCBUNDLE_H10#define LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCBUNDLE_H11 12#include "CFCReleaser.h"13 14class CFCBundle : public CFCReleaser<CFBundleRef> {15public:16  // Constructors and Destructors17  CFCBundle(const char *path = NULL);18  CFCBundle(CFURLRef url);19 20  ~CFCBundle() override;21 22  CFURLRef CopyExecutableURL() const;23 24  CFStringRef GetIdentifier() const;25 26  CFTypeRef GetValueForInfoDictionaryKey(CFStringRef key) const;27 28  bool GetPath(char *dst, size_t dst_len);29 30  bool SetPath(const char *path);31 32private:33  // Disallow copy and assignment constructors34  CFCBundle(const CFCBundle &) = delete;35 36  const CFCBundle &operator=(const CFCBundle &) = delete;37};38 39#endif // LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCBUNDLE_H40