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;
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;
virtual int64_t rawBytesAvailable(uint channel) const =0
uint currentReadChannel() const
ZYPP_DECLARE_FLAGS(OpenMode, OpenModeFlag)
std::weak_ptr< Base > WeakPtr
SignalProxy< void(int64_t)> sigBytesWritten()
int readChannelCount() const
virtual bool open(const OpenMode mode)
void setReadChannelCount(uint channels)
void setReadChannel(uint channel)
ByteArray channelReadLine(uint channel, int64_t maxSize=0)
int64_t readBufferCount() const
ZYPP_FWD_DECL_TYPE_WITH_REFS(Context)
ZYPP_DECLARE_OPERATORS_FOR_FLAGS(IODevice::OpenMode)
virtual int64_t writeData(const char *data, int64_t count)=0
bool canReadUntil(uint channel, const char delim) const
virtual void readChannelChanged(uint channel)=0
int64_t write(const ByteArray &data)
ByteArray channelReadUntil(uint channel, const char delim, int64_t maxSize=0)
IODeviceOStreamBuf & operator=(const IODeviceOStreamBuf &)=default
virtual int64_t bytesPending() const =0
int_type overflow(int_type __c) override
ByteArray read(int64_t maxSize)
void finishReadChannel(uint channel)
SignalProxy< void(uint)> sigChannelReadyRead()
IODeviceOStreamBuf(IODeviceRef dev)
#define ZYPP_DECLARE_PRIVATE(Class)
SignalProxy< void()> sigReadyRead()
SignalProxy< void()> sigAllBytesWritten()
SignalProxy< void(uint) > sigReadChannelFinished()
virtual int64_t bytesAvailable() const
virtual ByteArray readLine(const int64_t maxSize=0)
virtual int64_t readData(uint channel, char *buffer, int64_t bufsize)=0
bool waitForReadyRead(int timeout)
std::shared_ptr< Base > Ptr