15#ifndef ZYPPNG_IO_IODEVICE_DEFINED
16#define ZYPPNG_IO_IODEVICE_DEFINED
19#include <zypp-core/zyppng/base/Base>
20#include <zypp-core/zyppng/base/Signals>
21#include <zypp-core/zyppng/core/ByteArray>
45 using Ptr = std::shared_ptr<IODevice>;
49 virtual void close ();
61 int64_t
read (
char *buf, int64_t maxSize );
69 int64_t
read ( uint channel,
char *buf, int64_t maxSize );
95 int64_t
channelReadLine ( uint channel,
char *buf,
const int64_t maxSize );
112 virtual int64_t
channelReadUntil ( uint channel,
char *buf,
const char delimiter,
const int64_t maxSize );
122 bool canReadUntil ( uint channel,
const char delim )
const;
126 int64_t
write (
const char *data, int64_t len );
180 virtual bool open (
const OpenMode mode );
182 virtual int64_t
writeData (
const char *data, int64_t count ) = 0;
183 virtual int64_t
readData ( uint channel,
char *buffer, int64_t bufsize ) = 0;
206 int_type
overflow(int_type __c)
override;
IODeviceOStreamBuf(IODeviceRef dev)
int_type overflow(int_type __c) override
IODeviceOStreamBuf & operator=(const IODeviceOStreamBuf &)=default
IODeviceOStreamBuf(IODeviceOStreamBuf &&)=default
IODeviceOStreamBuf(const IODeviceOStreamBuf &)=default
IODeviceOStreamBuf & operator=(IODeviceOStreamBuf &&)=default
ByteArray channelReadUntil(uint channel, const char delim, int64_t maxSize=0)
virtual void readChannelChanged(uint channel)=0
virtual int64_t writeData(const char *data, int64_t count)=0
virtual bool waitForReadyRead(uint channel, int timeout)=0
virtual int64_t bytesPending() const =0
virtual ByteArray readLine(const int64_t maxSize=0)
SignalProxy< void(uint)> sigChannelReadyRead()
SignalProxy< void(uint) > sigReadChannelFinished()
void setReadChannelCount(uint channels)
SignalProxy< void()> sigReadyRead()
virtual int64_t bytesAvailable() const
virtual int64_t rawBytesAvailable(uint channel) const =0
SignalProxy< void(int64_t)> sigBytesWritten()
virtual int64_t readData(uint channel, char *buffer, int64_t bufsize)=0
bool waitForReadyRead(int timeout)
void finishReadChannel(uint channel)
bool canReadUntil(uint channel, const char delim) const
int64_t readBufferCount() const
ZYPP_DECLARE_FLAGS(OpenMode, OpenModeFlag)
std::weak_ptr< IODevice > WeakPtr
SignalProxy< void()> sigAllBytesWritten()
void setReadChannel(uint channel)
uint currentReadChannel() const
ByteArray read(int64_t maxSize)
ByteArray channelReadLine(uint channel, int64_t maxSize=0)
int64_t write(const ByteArray &data)
virtual bool open(const OpenMode mode)
int readChannelCount() const
std::shared_ptr< IODevice > Ptr
#define ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Name)
#define ZYPP_DECLARE_PRIVATE(Class)
#define ZYPP_FWD_DECL_TYPE_WITH_REFS(T)