1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
6 #include "base/i2-base.hpp"
7 #include "base/stream.hpp"
12 class StdioStream final : public Stream
15 DECLARE_PTR_TYPEDEFS(StdioStream);
17 StdioStream(std::iostream *innerStream, bool ownsStream);
18 ~StdioStream() override;
20 size_t Read(void *buffer, size_t size, bool allow_partial = false) override;
21 void Write(const void *buffer, size_t size) override;
23 void Close() override;
25 bool IsDataAvailable() const override;
26 bool IsEof() const override;
29 std::iostream *m_InnerStream;
35 #endif /* STDIOSTREAM_H */