version 3.21.0
add PISystemTime overload for thread/timer/io classes
This commit is contained in:
@@ -205,6 +205,10 @@ public:
|
||||
//! \~russian Устанавливает задержку в миллисекундах между вызовами \a open() если переоткрытие активно
|
||||
void setReopenTimeout(int msecs);
|
||||
|
||||
//! \~english Set timeout between \a open() tryings if reopen is enabled
|
||||
//! \~russian Устанавливает задержку между вызовами \a open() если переоткрытие активно
|
||||
void setReopenTimeout(PISystemTime timeout) { setReopenTimeout(timeout.toMilliseconds()); }
|
||||
|
||||
//! \~english Returns reopen enable
|
||||
//! \~russian Возвращает активно ли переоткрытие
|
||||
bool isReopenEnabled() const { return property("reopenEnabled").toBool(); }
|
||||
@@ -255,10 +259,21 @@ public:
|
||||
//! \~russian Останавливает потоковое чтение.
|
||||
void stopThreadedRead();
|
||||
|
||||
//! \~english Terminate threaded read.
|
||||
//! \~russian Прерывает потоковое чтение.
|
||||
//! \~\warning
|
||||
//! \~english Try not to use! This method may cause memory corruption!
|
||||
//! \~russian Старайтесь не использовать! Этот метод может привести к повреждению памяти!
|
||||
void terminateThreadedRead();
|
||||
|
||||
//! \~english Wait for threaded read finish no longer than "timeout_ms" milliseconds.
|
||||
//! \~russian Ожидает завершения потокового чтения в течении не более "timeout_ms" миллисекунд.
|
||||
bool waitThreadedReadFinished(int timeout_ms = -1);
|
||||
|
||||
//! \~english Wait for threaded read finish no longer than "timeout".
|
||||
//! \~russian Ожидает завершения потокового чтения в течении не более "timeout".
|
||||
bool waitThreadedReadFinished(PISystemTime timeout) { return waitThreadedReadFinished(timeout.toMilliseconds()); }
|
||||
|
||||
|
||||
//! \~english Returns if threaded write is started
|
||||
//! \~russian Возвращает запущен ли поток записи
|
||||
@@ -272,10 +287,21 @@ public:
|
||||
//! \~russian Останавливает потоковую запись.
|
||||
void stopThreadedWrite();
|
||||
|
||||
//! \~english Terminate threaded write.
|
||||
//! \~russian Прерывает потоковую запись.
|
||||
//! \~\warning
|
||||
//! \~english Try not to use! This method may cause memory corruption!
|
||||
//! \~russian Старайтесь не использовать! Этот метод может привести к повреждению памяти!
|
||||
void terminateThreadedWrite();
|
||||
|
||||
//! \~english Wait for threaded write finish no longer than "timeout_ms" milliseconds.
|
||||
//! \~russian Ожидает завершения потоковой записи в течении не более "timeout_ms" миллисекунд.
|
||||
bool waitThreadedWriteFinished(int timeout_ms = -1);
|
||||
|
||||
//! \~english Wait for threaded write finish no longer than "timeout".
|
||||
//! \~russian Ожидает завершения потоковой записи в течении не более "timeout".
|
||||
bool waitThreadedWriteFinished(PISystemTime timeout) { return waitThreadedWriteFinished(timeout.toMilliseconds()); }
|
||||
|
||||
//! \~english Clear threaded write task queue
|
||||
//! \~russian Очищает очередь потоковой записи
|
||||
void clearThreadedWriteQueue();
|
||||
@@ -293,6 +319,10 @@ public:
|
||||
//! \~russian Останавливает потоковое чтение и запись и ожидает завершения.
|
||||
void stopAndWait(int timeout_ms = -1);
|
||||
|
||||
//! \~english Stop both threaded read and threaded write and wait for finish.
|
||||
//! \~russian Останавливает потоковое чтение и запись и ожидает завершения.
|
||||
void stopAndWait(PISystemTime timeout) { return stopAndWait(timeout.toMilliseconds()); }
|
||||
|
||||
//! \~english Interrupt blocking operation.
|
||||
//! \~russian Прерывает блокирующую операцию.
|
||||
virtual void interrupt() {}
|
||||
@@ -331,6 +361,10 @@ public:
|
||||
//! Таймаут должен быть больше 0
|
||||
PIByteArray readForTime(double timeout_ms);
|
||||
|
||||
//! \~english Read from device for "timeout" and return readed data as PIByteArray.
|
||||
//! \~russian Читает из устройства в течении "timeout" и возвращает данные как PIByteArray.
|
||||
PIByteArray readForTime(PISystemTime timeout) { return readForTime(timeout.toMilliseconds()); }
|
||||
|
||||
|
||||
//! \~english Add task to threaded write queue and return task ID
|
||||
//! \~russian Добавляет данные в очередь на потоковую запись и возвращает ID задания
|
||||
@@ -500,14 +534,14 @@ protected:
|
||||
//! \~english Reimplement this function to read from your device
|
||||
//! \~russian Переопределите для чтения данных из устройства
|
||||
virtual ssize_t readDevice(void * read_to, ssize_t max_size) {
|
||||
piCoutObj << "\"read\" is not implemented!";
|
||||
piCoutObj << "\"readDevice\" is not implemented!";
|
||||
return -2;
|
||||
}
|
||||
|
||||
//! \~english Reimplement this function to write to your device
|
||||
//! \~russian Переопределите для записи данных в устройство
|
||||
virtual ssize_t writeDevice(const void * data, ssize_t max_size) {
|
||||
piCoutObj << "\"write\" is not implemented!";
|
||||
piCoutObj << "\"writeDevice\" is not implemented!";
|
||||
return -2;
|
||||
}
|
||||
|
||||
@@ -555,7 +589,7 @@ protected:
|
||||
|
||||
bool isThreadedReadStopping() const { return read_thread.isStopping(); }
|
||||
|
||||
DeviceMode mode_;
|
||||
DeviceMode mode_ = ReadOnly;
|
||||
DeviceOptions options_;
|
||||
ReadRetFunc func_read = nullptr;
|
||||
std::atomic_bool opened_;
|
||||
|
||||
Reference in New Issue
Block a user