14a348081030cdd2af758fddc869518357d9befd3Caroline Tice//===-- StreamAsynchronousIO.h -----------------------------------*- C++ -*-===// 24a348081030cdd2af758fddc869518357d9befd3Caroline Tice// 34a348081030cdd2af758fddc869518357d9befd3Caroline Tice// The LLVM Compiler Infrastructure 44a348081030cdd2af758fddc869518357d9befd3Caroline Tice// 54a348081030cdd2af758fddc869518357d9befd3Caroline Tice// This file is distributed under the University of Illinois Open Source 64a348081030cdd2af758fddc869518357d9befd3Caroline Tice// License. See LICENSE.TXT for details. 74a348081030cdd2af758fddc869518357d9befd3Caroline Tice// 84a348081030cdd2af758fddc869518357d9befd3Caroline Tice//===----------------------------------------------------------------------===// 94a348081030cdd2af758fddc869518357d9befd3Caroline Tice 104a348081030cdd2af758fddc869518357d9befd3Caroline Tice#ifndef liblldb_StreamAsynchronousIO_h_ 114a348081030cdd2af758fddc869518357d9befd3Caroline Tice#define liblldb_StreamAsynchronousIO_h_ 124a348081030cdd2af758fddc869518357d9befd3Caroline Tice 134a348081030cdd2af758fddc869518357d9befd3Caroline Tice#include <string> 144a348081030cdd2af758fddc869518357d9befd3Caroline Tice 154a348081030cdd2af758fddc869518357d9befd3Caroline Tice#include "lldb/Core/Stream.h" 164a348081030cdd2af758fddc869518357d9befd3Caroline Tice#include "lldb/Core/StreamString.h" 174a348081030cdd2af758fddc869518357d9befd3Caroline Tice 184a348081030cdd2af758fddc869518357d9befd3Caroline Ticenamespace lldb_private { 194a348081030cdd2af758fddc869518357d9befd3Caroline Tice 204a348081030cdd2af758fddc869518357d9befd3Caroline Ticeclass StreamAsynchronousIO : 214a348081030cdd2af758fddc869518357d9befd3Caroline Tice public Stream 224a348081030cdd2af758fddc869518357d9befd3Caroline Tice{ 234a348081030cdd2af758fddc869518357d9befd3Caroline Ticepublic: 244a348081030cdd2af758fddc869518357d9befd3Caroline Tice StreamAsynchronousIO (Broadcaster &broadcaster, uint32_t broadcast_event_type); 254a348081030cdd2af758fddc869518357d9befd3Caroline Tice 264a348081030cdd2af758fddc869518357d9befd3Caroline Tice virtual ~StreamAsynchronousIO (); 274a348081030cdd2af758fddc869518357d9befd3Caroline Tice 284a348081030cdd2af758fddc869518357d9befd3Caroline Tice virtual void 294a348081030cdd2af758fddc869518357d9befd3Caroline Tice Flush (); 304a348081030cdd2af758fddc869518357d9befd3Caroline Tice 3136da2aa6dc5ad9994b638ed09eb81c44cc05540bGreg Clayton virtual size_t 324a348081030cdd2af758fddc869518357d9befd3Caroline Tice Write (const void *src, size_t src_len); 334a348081030cdd2af758fddc869518357d9befd3Caroline Tice 344a348081030cdd2af758fddc869518357d9befd3Caroline Tice 354a348081030cdd2af758fddc869518357d9befd3Caroline Ticeprivate: 364a348081030cdd2af758fddc869518357d9befd3Caroline Tice Broadcaster &m_broadcaster; 374a348081030cdd2af758fddc869518357d9befd3Caroline Tice uint32_t m_broadcast_event_type; 384a348081030cdd2af758fddc869518357d9befd3Caroline Tice StreamString m_accumulated_data; 394a348081030cdd2af758fddc869518357d9befd3Caroline Tice}; 404a348081030cdd2af758fddc869518357d9befd3Caroline Tice 414a348081030cdd2af758fddc869518357d9befd3Caroline Tice} // namespace lldb_private 424a348081030cdd2af758fddc869518357d9befd3Caroline Tice#endif // #ifndef liblldb_StreamAsynchronousIO_h 43