1//===-- CFData.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//  Created by Greg Clayton on 1/16/08.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef __CFData_h__
15#define __CFData_h__
16
17#include "CFUtils.h"
18
19class CFData : public CFReleaser<CFDataRef>
20{
21public:
22    //------------------------------------------------------------------
23    // Constructors and Destructors
24    //------------------------------------------------------------------
25    CFData(CFDataRef data = NULL);
26    CFData(const CFData& rhs);
27    CFData& operator=(const CFData& rhs);
28    virtual ~CFData();
29
30        CFDataRef Serialize(CFPropertyListRef plist, CFPropertyListFormat format);
31        const uint8_t* GetBytePtr () const;
32        CFIndex GetLength () const;
33protected:
34    //------------------------------------------------------------------
35    // Classes that inherit from CFData can see and modify these
36    //------------------------------------------------------------------
37};
38
39#endif // #ifndef __CFData_h__
40