crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QIODevice и асинхронная работа
xbarmaglot
  опции профиля:
сообщение 26.3.2015, 21:02
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 29.8.2012
Пользователь №: 3502

Спасибо сказали: 0 раз(а)




Репутация:   0  


Сделал обертку на основе QIODevice для работы с устройством. Работа реализована синхронно.
Для этого были переопределены следующие методы:

virtual bool canReadLine() const { return false; }
virtual bool isSequential() const { return true; }
virtual bool open(OpenMode mode);
virtual void close();
virtual qint64 readData(char * data, qint64 maxSize);
virtual qint64 writeData(const char * data, qint64 maxSize);


Данный режим блокирует главный поток и работать с устройством можно лишь в отдельном потоке.
Но с устройством можно работать и в асинхронном режиме (через overlapped).
Какие методы нужно еще переопределить, чтоб добиться этого ?

Хотелось бы подписаться на сигнал, чтоб приходил readyRead, а после этого вычитывать данные в слоте.
Не совсем понятно как инициировать чтение, чтоб начал приходить сигнал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.4.2024, 0:10