Класс QPipeDevice
Публичные типы
enum | Type { Read , Write } |
Сигналы
void | notify () |
Публичные функции
int | bytesAvailable () const |
void | close () |
void | enable () |
Q_PIPE_ID | id () const |
int | idAsInt () const |
bool | isValid () const |
QPipeDevice (QObject *parent=nullptr) | |
int | read (char *data, int maxsize) |
void | release () |
bool | setInheritable (bool enabled) |
void | take (Q_PIPE_ID id, Type t) |
Type | type () const |
int | write (const char *data, int size) |
int | writeResult (int *written) const |
Дружественные функции и классы
class | Private |
Подробное описание
Небуферизованный прямой канал.
Данный класс обычно не требуется, за исключением операций очень низкого уровня. Для большинства приложений нужно использовать QPipe и QPipeEnd.
Описание перечислений
Type
enum QCA::QPipeDevice::Type |
Тип устройства.
Read | Читаемый участник канала |
Write | Записываемый участник канала |
Описание конструкторов и деструктора
QPipeDevice()
QCA::QPipeDevice::QPipeDevice (QObject * parent = nullptr) |
Стандартный конструктор.
Параметры
parent | Родительский объект для этого экземпляра |
Описание методов
type()
Type QCA::QPipeDevice::type () const |
Тип устройства канала (то есть чтение или запись).
isValid()
bool QCA::QPipeDevice::isValid () const |
Проверяет, соответствует ли этот объект допустимому каналу.
id()
Q_PIPE_ID QCA::QPipeDevice::id () const |
Идентификация низкого уровня для канала.
В Windows это HANDLE. В Unix это файловый дескриптор (т. е. целое число).
Код, использующий этот метод, следует тщательно протестировать на переносимость.
См. также idAsInt
idAsInt()
int QCA::QPipeDevice::idAsInt () const |
Идентификатор низкого уровня для этого канала, возвращенный как целое число.
Код, использующий этот метод, следует тщательно протестировать на переносимость.
См. также id().
take()
void QCA::QPipeDevice::take (Q_PIPE_IDid, Type t ) |
Принимает существующий идентификатор канала, закрывая старый канал, если он есть.
Параметры
id | Идентификация конца канала, которую нужно принять |
t | Тип конца канала (чтение или запись) |
enable()
void QCA::QPipeDevice::enable () |
Включает канал для чтения или записи (в зависимости от типа).
close()
void QCA::QPipeDevice::close () |
Закрывает канал.
release()
void QCA::QPipeDevice::release () |
Освобождает канал, но не закрывает его.
setInheritable()
bool QCA::QPipeDevice::setInheritable (bool enabled) |
Устанавливает наследуемый канал.
Примечание.
В Windows эта операция изменяет значение идентификатора конца канала.
Параметры
enabled | Наследуется ли канал (true ) или нет (false ) |
bytesAvailable()
int QCA::QPipeDevice::bytesAvailable () const |
Получает количество байтов, доступных для чтения.
read()
int QCA::QPipeDevice::read (char * data, int maxsize ) |
Читает с конца канала.
Параметры
data | Куда поместить прочитанные данные |
maxsize | Максимальное количество байтов для чтения |
Возвращает фактическое количество прочитанных байтов, 0
для конца файла или -1
в случае ошибки.
write()
int QCA::QPipeDevice::write (const char * data, int size ) |
Передаёт данные для записи участнику канала.
Параметры
data | Источник данных для записи |
size | Количество байтов в записываемых данных |
Примечание.
источник данных должен оставаться действительным
Возвращает количество записанных байтов или -1
в случае ошибки.
writeResult()
int QCA::QPipeDevice::writeResult (int * written) const |
Результат операции записи.
Параметры
written | Если не null , будет установлено количество байтов, записанных в последней операции. |
Возвращает 0
в случае успеха (все данные записаны) или -1
в случае ошибки.
notify
void QCA::QPipeDevice::notify () | signal |
Сигнал испускается, когда с конца канала можно читать или записывать (в зависимости от его типа).