diff options
Diffstat (limited to 'include/lldb/Core/StreamFile.h')
-rw-r--r-- | include/lldb/Core/StreamFile.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/include/lldb/Core/StreamFile.h b/include/lldb/Core/StreamFile.h new file mode 100644 index 000000000000..d032c0b21e6b --- /dev/null +++ b/include/lldb/Core/StreamFile.h @@ -0,0 +1,75 @@ +//===-- StreamFile.h --------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_StreamFile_h_ +#define liblldb_StreamFile_h_ + +// C Includes +// C++ Includes + +#include <string> + +// Other libraries and framework includes +// Project includes + +#include "lldb/Core/Stream.h" +#include "lldb/Host/File.h" + +namespace lldb_private { + +class StreamFile : public Stream +{ +public: + //------------------------------------------------------------------ + // Constructors and Destructors + //------------------------------------------------------------------ + StreamFile (); + + StreamFile (uint32_t flags, uint32_t addr_size, lldb::ByteOrder byte_order); + + StreamFile (int fd, bool transfer_ownership); + + StreamFile (const char *path); + + StreamFile (FILE *fh, bool transfer_ownership); + + virtual + ~StreamFile(); + + File & + GetFile () + { + return m_file; + } + + const File & + GetFile () const + { + return m_file; + } + + virtual void + Flush (); + + virtual size_t + Write (const void *s, size_t length); + +protected: + //------------------------------------------------------------------ + // Classes that inherit from StreamFile can see and modify these + //------------------------------------------------------------------ + File m_file; + +private: + DISALLOW_COPY_AND_ASSIGN (StreamFile); +}; + +} // namespace lldb_private + +#endif // liblldb_StreamFile_h_ |