diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-10-23 17:53:01 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-10-23 17:53:01 +0000 |
commit | ead246455adf1a215ec2715dad6533073a6beb4e (patch) | |
tree | f3f97a47d77053bf96fe74cdbd6fae74380e8a92 /include/lldb/API/SBFile.h | |
parent | fdb00c4408990a0a63ef7f496d809ce59f263bc5 (diff) |
Notes
Diffstat (limited to 'include/lldb/API/SBFile.h')
-rw-r--r-- | include/lldb/API/SBFile.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/lldb/API/SBFile.h b/include/lldb/API/SBFile.h new file mode 100644 index 000000000000..7d6c14809923 --- /dev/null +++ b/include/lldb/API/SBFile.h @@ -0,0 +1,47 @@ +//===-- SBFile.h --------------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLDB_SBFile_h_ +#define LLDB_SBFile_h_ + +#include "lldb/API/SBDefines.h" + +namespace lldb { + +class LLDB_API SBFile { + friend class SBInstruction; + friend class SBInstructionList; + friend class SBDebugger; + friend class SBCommandReturnObject; + friend class SBProcess; + +public: + SBFile(); + SBFile(FileSP file_sp); + SBFile(FILE *file, bool transfer_ownership); + SBFile(int fd, const char *mode, bool transfer_ownership); + ~SBFile(); + + SBError Read(uint8_t *buf, size_t num_bytes, size_t *bytes_read); + SBError Write(const uint8_t *buf, size_t num_bytes, size_t *bytes_written); + SBError Flush(); + bool IsValid() const; + SBError Close(); + + operator bool() const; + bool operator!() const; + + FileSP GetFile() const; + +private: + FileSP m_opaque_sp; +}; + +} // namespace lldb + +#endif // LLDB_SBFile_h_ |