From 392e4fbdd9b152efff4c051286f6b2c21270c902 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Wed, 18 Apr 2012 21:39:23 +0000 Subject: Creating release_31 branch llvm-svn: 155059 llvm-svn: 155053 llvm-svn: 155051 --- lldb/source/API/SBStream.cpp | 187 ------------------------------------------- 1 file changed, 187 deletions(-) delete mode 100644 lldb/source/API/SBStream.cpp (limited to 'lldb/source/API/SBStream.cpp') diff --git a/lldb/source/API/SBStream.cpp b/lldb/source/API/SBStream.cpp deleted file mode 100644 index dc8eb05ab0ba..000000000000 --- a/lldb/source/API/SBStream.cpp +++ /dev/null @@ -1,187 +0,0 @@ -//===-- SBStream.cpp ----------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "lldb/API/SBStream.h" - -#include "lldb/Core/Error.h" -#include "lldb/Core/Stream.h" -#include "lldb/Core/StreamFile.h" -#include "lldb/Core/StreamString.h" - -using namespace lldb; -using namespace lldb_private; - -SBStream::SBStream () : - m_opaque_ap (new StreamString()), - m_is_file (false) -{ -} - -SBStream::~SBStream () -{ -} - -bool -SBStream::IsValid() const -{ - return (m_opaque_ap.get() != NULL); -} - -// If this stream is not redirected to a file, it will maintain a local -// cache for the stream data which can be accessed using this accessor. -const char * -SBStream::GetData () -{ - if (m_is_file || m_opaque_ap.get() == NULL) - return NULL; - - return static_cast(m_opaque_ap.get())->GetData(); -} - -// If this stream is not redirected to a file, it will maintain a local -// cache for the stream output whose length can be accessed using this -// accessor. -size_t -SBStream::GetSize() -{ - if (m_is_file || m_opaque_ap.get() == NULL) - return 0; - - return static_cast(m_opaque_ap.get())->GetSize(); -} - -void -SBStream::Printf (const char *format, ...) -{ - if (!format) - return; - va_list args; - va_start (args, format); - ref().PrintfVarArg (format, args); - va_end (args); -} - -void -SBStream::RedirectToFile (const char *path, bool append) -{ - std::string local_data; - if (m_opaque_ap.get()) - { - // See if we have any locally backed data. If so, copy it so we can then - // redirect it to the file so we don't lose the data - if (!m_is_file) - local_data.swap(static_cast(m_opaque_ap.get())->GetString()); - } - StreamFile *stream_file = new StreamFile; - uint32_t open_options = File::eOpenOptionWrite | File::eOpenOptionCanCreate; - if (append) - open_options |= File::eOpenOptionAppend; - stream_file->GetFile().Open (path, open_options, File::ePermissionsDefault); - - m_opaque_ap.reset (stream_file); - - if (m_opaque_ap.get()) - { - m_is_file = true; - - // If we had any data locally in our StreamString, then pass that along to - // the to new file we are redirecting to. - if (!local_data.empty()) - m_opaque_ap->Write (&local_data[0], local_data.size()); - } - else - m_is_file = false; -} - -void -SBStream::RedirectToFileHandle (FILE *fh, bool transfer_fh_ownership) -{ - std::string local_data; - if (m_opaque_ap.get()) - { - // See if we have any locally backed data. If so, copy it so we can then - // redirect it to the file so we don't lose the data - if (!m_is_file) - local_data.swap(static_cast(m_opaque_ap.get())->GetString()); - } - m_opaque_ap.reset (new StreamFile (fh, transfer_fh_ownership)); - - if (m_opaque_ap.get()) - { - m_is_file = true; - - // If we had any data locally in our StreamString, then pass that along to - // the to new file we are redirecting to. - if (!local_data.empty()) - m_opaque_ap->Write (&local_data[0], local_data.size()); - } - else - m_is_file = false; -} - -void -SBStream::RedirectToFileDescriptor (int fd, bool transfer_fh_ownership) -{ - std::string local_data; - if (m_opaque_ap.get()) - { - // See if we have any locally backed data. If so, copy it so we can then - // redirect it to the file so we don't lose the data - if (!m_is_file) - local_data.swap(static_cast(m_opaque_ap.get())->GetString()); - } - - m_opaque_ap.reset (new StreamFile (::fdopen (fd, "w"), transfer_fh_ownership)); - if (m_opaque_ap.get()) - { - m_is_file = true; - - // If we had any data locally in our StreamString, then pass that along to - // the to new file we are redirecting to. - if (!local_data.empty()) - m_opaque_ap->Write (&local_data[0], local_data.size()); - } - else - m_is_file = false; - -} - -lldb_private::Stream * -SBStream::operator->() -{ - return m_opaque_ap.get(); -} - -lldb_private::Stream * -SBStream::get() -{ - return m_opaque_ap.get(); -} - -lldb_private::Stream & -SBStream::ref() -{ - if (m_opaque_ap.get() == NULL) - m_opaque_ap.reset (new StreamString()); - return *m_opaque_ap.get(); -} - -void -SBStream::Clear () -{ - if (m_opaque_ap.get()) - { - // See if we have any locally backed data. If so, copy it so we can then - // redirect it to the file so we don't lose the data - if (m_is_file) - m_opaque_ap.reset(); - else - static_cast(m_opaque_ap.get())->GetString().clear(); - } -} -- cgit v1.2.3