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 AndricStreamCallback::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 Andricvoid 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 Andricuint64_t StreamCallback::current_pos() const { return 0; } 24