diff options
Diffstat (limited to 'include/lldb/Core/StreamFile.h')
-rw-r--r-- | include/lldb/Core/StreamFile.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/lldb/Core/StreamFile.h b/include/lldb/Core/StreamFile.h index 54aeab16b3f1..712b289aa8d9 100644 --- a/include/lldb/Core/StreamFile.h +++ b/include/lldb/Core/StreamFile.h @@ -30,23 +30,27 @@ public: StreamFile(const char *path); - StreamFile(const char *path, uint32_t options, + StreamFile(const char *path, File::OpenOptions options, uint32_t permissions = lldb::eFilePermissionsFileDefault); StreamFile(FILE *fh, bool transfer_ownership); + StreamFile(std::shared_ptr<File> file) : m_file_sp(file) { assert(file); }; + ~StreamFile() override; - File &GetFile() { return m_file; } + File &GetFile() { return *m_file_sp; } + + const File &GetFile() const { return *m_file_sp; } - const File &GetFile() const { return m_file; } + std::shared_ptr<File> GetFileSP() { return m_file_sp; } void Flush() override; protected: // Classes that inherit from StreamFile can see and modify these - File m_file; + std::shared_ptr<File> m_file_sp; // never NULL size_t WriteImpl(const void *s, size_t length) override; private: |