xref: /llvm-project/lldb/source/Host/macosx/cfcpp/CFCData.h (revision 991663399792d4cc03da6b6c7131a6c213655318)
1 //===-- CFCData.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-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCDATA_H
10 #define LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCDATA_H
11 
12 #include "CFCReleaser.h"
13 
14 class CFCData : public CFCReleaser<CFDataRef> {
15 public:
16   // Constructors and Destructors
17   CFCData(CFDataRef data = NULL);
18   CFCData(const CFCData &rhs);
19   CFCData &operator=(const CFCData &rhs);
20   ~CFCData() override;
21 
22   CFDataRef Serialize(CFPropertyListRef plist, CFPropertyListFormat format);
23   const uint8_t *GetBytePtr() const;
24   CFIndex GetLength() const;
25 
26 protected:
27   // Classes that inherit from CFCData can see and modify these
28 };
29 
30 #endif // LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCDATA_H
31