StreamCallback.h revision 360660
1//===-- StreamCallback.h -----------------------------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef liblldb_StreamCallback_h_ 10#define liblldb_StreamCallback_h_ 11 12#include "lldb/lldb-types.h" 13#include "llvm/Support/raw_ostream.h" 14 15#include <stddef.h> 16#include <stdint.h> 17 18namespace lldb_private { 19 20class StreamCallback : public llvm::raw_ostream { 21public: 22 StreamCallback(lldb::LogOutputCallback callback, void *baton); 23 ~StreamCallback() override = default; 24 25private: 26 lldb::LogOutputCallback m_callback; 27 void *m_baton; 28 29 void write_impl(const char *Ptr, size_t Size) override; 30 uint64_t current_pos() const override; 31}; 32 33} // namespace lldb_private 34 35#endif // liblldb_StreamCallback_h 36