LLDB mainline
SBFile.h
Go to the documentation of this file.
1//===-- SBFile.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_API_SBFILE_H
10#define LLDB_API_SBFILE_H
11
12#include "lldb/API/SBDefines.h"
13
14#include <cstdio>
15
16namespace lldb {
17
19 friend class SBInstruction;
20 friend class SBInstructionList;
21 friend class SBDebugger;
23 friend class SBProcess;
24
25public:
26 SBFile();
27 SBFile(FileSP file_sp);
28#ifndef SWIG
29 SBFile(const SBFile &rhs);
30 LLDB_DEPRECATED_FIXME("Use the constructor that specifies mode instead",
31 "SBFile(FILE*, const char*, bool)")
32 SBFile(FILE *file, bool transfer_ownership);
33 SBFile(FILE *file, const char *mode, bool transfer_ownership);
34#endif
35 SBFile(int fd, const char *mode, bool transfer_ownership);
37
38 SBFile &operator=(const SBFile &rhs);
39
40 SBError Read(uint8_t *buf, size_t num_bytes, size_t *OUTPUT);
41 SBError Write(const uint8_t *buf, size_t num_bytes, size_t *OUTPUT);
42 SBError Flush();
43 bool IsValid() const;
44 SBError Close();
45
46 operator bool() const;
47#ifndef SWIG
48 bool operator!() const;
49#endif
50
51 FileSP GetFile() const;
52
53private:
55};
56
57} // namespace lldb
58
59#endif // LLDB_API_SBFILE_H
#define LLDB_API
Definition SBDefines.h:28
FileSP GetFile() const
Definition SBFile.cpp:136
SBError Flush()
Definition SBFile.cpp:101
SBError Write(const uint8_t *buf, size_t num_bytes, size_t *OUTPUT)
Definition SBFile.cpp:86
friend class SBCommandReturnObject
Definition SBFile.h:22
friend class SBProcess
Definition SBFile.h:23
FileSP m_opaque_sp
Definition SBFile.h:54
bool operator!() const
Definition SBFile.cpp:131
friend class SBInstruction
Definition SBFile.h:19
friend class SBDebugger
Definition SBFile.h:21
LLDB_DEPRECATED_FIXME("Use the constructor that specifies mode instead", "SBFile(FILE*, const char*, bool)") SBFile(FILE *file
bool transfer_ownership
Definition SBFile.h:32
SBFile & operator=(const SBFile &rhs)
Definition SBFile.cpp:29
SBError Read(uint8_t *buf, size_t num_bytes, size_t *OUTPUT)
Definition SBFile.cpp:72
SBError Close()
Definition SBFile.cpp:118
friend class SBInstructionList
Definition SBFile.h:20
bool IsValid() const
Definition SBFile.cpp:113
std::shared_ptr< lldb_private::File > FileSP