34#ifndef DOXYGEN_SHOULD_SKIP_THIS
36#ifndef QPIPE_NO_SECURE
49typedef HANDLE Q_PIPE_ID;
50#define INVALID_Q_PIPE_ID INVALID_HANDLE_VALUE
53#define INVALID_Q_PIPE_ID -1
114 Q_PIPE_ID
id()
const;
170 int read(
char *data,
int maxsize);
182 int write(
const char *data,
int size);
204 friend class Private;
260 Q_PIPE_ID
id()
const;
360 QByteArray
read(
int bytes = -1);
458 friend class Private;
531 Q_DISABLE_COPY(
QPipe)
Unbuffered direct pipe.
Definition qpipe.h:75
void release()
Release the pipe end, but do not close it.
QPipeDevice(QObject *parent=nullptr)
Standard constructor.
int idAsInt() const
The low level identification for this pipe, returned as an integer.
void take(Q_PIPE_ID id, Type t)
Take over an existing pipe id, closing the old pipe if any.
void notify()
Emitted when the pipe end can be read from or written to (depending on its Type).
bool setInheritable(bool enabled)
Set the pipe end to be inheritable.
int bytesAvailable() const
Obtain the number of bytes available to be read.
int write(const char *data, int size)
Write to the pipe end.
int read(char *data, int maxsize)
Read from the pipe end.
void close()
Close the pipe end.
Q_PIPE_ID id() const
The low level identification for this pipe.
int writeResult(int *written) const
The result of a write operation.
bool isValid() const
Test whether this object corresponds to a valid pipe.
Type type() const
The Type of the pipe device (that is, read or write)
void enable()
Enable the pipe for reading or writing (depending on Type)
Type
The type of device.
Definition qpipe.h:82
@ Read
The pipe end can be read from.
Definition qpipe.h:83
A buffered higher-level pipe end.
Definition qpipe.h:218
QPipeEnd(QObject *parent=nullptr)
Standard constructor.
void error(QCA::QPipeEnd::Error e)
Emitted when the pipe encounters an error trying to read or write, or if the other end of the pipe ha...
QByteArray takeBytesToWrite()
Returns any unsent bytes queued for writing.
void readyRead()
Emitted when there are bytes available to be read from the read end of the pipe.
void bytesWritten(int bytes)
Emitted when bytes have been written to the write end of the pipe.
void finalizeAndRelease()
Clear the contents of the pipe, and release the pipe.
SecureArray takeBytesToWriteSecure()
Returns any unsent bytes queued for writing.
bool isValid() const
Determine whether the pipe end is valid.
int bytesAvailable() const
Determine how many bytes are available to be read.
void closed()
Emitted when this end of the pipe is closed as a result of calling close()
void write(const QByteArray &a)
Write bytes to the pipe.
SecureArray readSecure(int bytes=-1)
Read bytes from the pipe.
void finalize()
Clear the contents of the pipe, and invalidate the pipe.
void writeSecure(const SecureArray &a)
Write bytes to the pipe.
void setSecurityEnabled(bool secure)
Sets whether the pipe uses secure memory for read/write.
void release()
Let go of the active pipe handle, but don't close it.
Q_PIPE_ID id() const
Pipe identification.
void reset()
Reset the pipe end to an inactive state.
Error
The type of error.
Definition qpipe.h:225
@ ErrorEOF
End of file error.
Definition qpipe.h:226
int bytesToWrite() const
Returns the number of bytes pending to write.
void close()
Close the end of the pipe.
bool setInheritable(bool enabled)
Sets whether the pipe should be inheritable to child processes.
int idAsInt() const
Pipe identification.
QByteArray read(int bytes=-1)
Read bytes from the pipe.
void take(Q_PIPE_ID id, QPipeDevice::Type t)
Take over an existing pipe handle.
void enable()
Enable the endpoint for the pipe.
QPipeDevice::Type type() const
The type of pipe end (either read or write)
A FIFO buffer (named pipe) abstraction.
Definition qpipe.h:479
QPipeEnd & writeEnd()
The write end of the pipe.
Definition qpipe.h:525
void reset()
Reset the pipe.
QPipe(QObject *parent=nullptr)
Standard constructor.
QPipeEnd & readEnd()
The read end of the pipe.
Definition qpipe.h:517
bool create(bool secure=false)
Create the pipe.
Secure array of bytes.
Definition qca_tools.h:317
QCA - the Qt Cryptographic Architecture.
Definition qca_basic.h:41