1*f678e45dSDimitry Andric //===-- StreamCallback.cpp -------------------------------------*- C++ -*-===//
2*f678e45dSDimitry Andric //
3*f678e45dSDimitry Andric //                     The LLVM Compiler Infrastructure
4*f678e45dSDimitry Andric //
5*f678e45dSDimitry Andric // This file is distributed under the University of Illinois Open Source
6*f678e45dSDimitry Andric // License. See LICENSE.TXT for details.
7*f678e45dSDimitry Andric //
8*f678e45dSDimitry Andric //===----------------------------------------------------------------------===//
9*f678e45dSDimitry Andric 
10*f678e45dSDimitry Andric #include "lldb/Utility/StreamCallback.h"
11*f678e45dSDimitry Andric 
12*f678e45dSDimitry Andric #include <string>
13*f678e45dSDimitry Andric 
14*f678e45dSDimitry Andric using namespace lldb_private;
15*f678e45dSDimitry Andric 
StreamCallback(lldb::LogOutputCallback callback,void * baton)16*f678e45dSDimitry Andric StreamCallback::StreamCallback(lldb::LogOutputCallback callback, void *baton)
17*f678e45dSDimitry Andric     : llvm::raw_ostream(true), m_callback(callback), m_baton(baton) {}
18*f678e45dSDimitry Andric 
write_impl(const char * Ptr,size_t Size)19*f678e45dSDimitry Andric void StreamCallback::write_impl(const char *Ptr, size_t Size) {
20*f678e45dSDimitry Andric   m_callback(std::string(Ptr, Size).c_str(), m_baton);
21*f678e45dSDimitry Andric }
22*f678e45dSDimitry Andric 
current_pos() const23*f678e45dSDimitry Andric uint64_t StreamCallback::current_pos() const { return 0; }
24