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>
25 class IODevicePrivate;
44 using Ptr = std::shared_ptr<IODevice>;
48 virtual void close ();
60 int64_t
read (
char *buf, int64_t maxSize );
67 int64_t
read ( uint channel,
char *buf, int64_t maxSize );
85 virtual int64_t
channelReadLine ( uint channel,
char *buf,
const int64_t maxSize );
94 int64_t
write (
const char *data, int64_t len );
137 virtual bool open (
const OpenMode mode );
139 virtual int64_t
writeData (
const char *data, int64_t count ) = 0;
140 virtual int64_t
readData ( uint channel,
char *buffer, int64_t bufsize ) = 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 ByteArray readLine(const int64_t maxSize=0)
SignalProxy< void(uint)> sigChannelReadyRead()
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)
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)
ZYPP_DECLARE_PRIVATE(IODevice)
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)