PIP 5.5.3
Platform-Independent Primitives
Открытые члены | Защищенные члены | Полный список членов класса
Класс PIIOString

Обёртка PIIODevice вокруг PIString. Подробнее...

#include <piiostring.h>

Граф наследования:PIIOString:
Inheritance graph
[см. легенду]

Открытые члены

 PIIOString (PIString *string=0, PIIODevice::DeviceMode mode=PIIODevice::ReadOnly)
 Создает PIIOString с содержимым "string" и режимом открытия "mode".
 
 PIIOString (const PIString &string)
 Создает PIIOString с содержимым "string" только для чтения
 
PIStringstring () const
 Возвращает содержимое
 
void clear ()
 Очищает содержимое строки
 
bool open (PIString *string, PIIODevice::DeviceMode mode=PIIODevice::ReadWrite)
 Открывает содержимое "string" с режимом открытия "mode".
 
bool open (const PIString &string)
 Открывает содержимое "string" только для чтения
 
bool isEnd () const
 Возвращает в конце содержимого ли позиция
 
void seek (llong position)
 Перемещает позицию чтения/записи на "position".
 
void seekToBegin ()
 Перемещает позицию чтения/записи на начало строки
 
void seekToEnd ()
 Перемещает позицию чтения/записи на конец строки
 
PIString readLine ()
 Читает одну строку и возвращает её
 
int writeString (const PIString &string)
 Вставляет строку "string" в содержимое буфера в текущую позицию
 
ssize_t bytesAvailable () const override
 Возвращает количество байт доступных для чтения Подробнее...
 
- Открытые члены унаследованные от PIIODevice
 PIIODevice ()
 Создает пустой PIIODevice.
 
 PIIODevice (const PIString &path, DeviceMode mode=ReadWrite)
 Создает PIIODevice с путём "path" и режимом открытия "mode".
 
DeviceMode mode () const
 Возвращает текущий режим открытия устройства
 
void setMode (DeviceMode m)
 Устанавливает режим открытия устройства. Не переоткрывает устройство
 
DeviceOptions options () const
 Возвращает текущие опции устройства
 
bool isOptionSet (DeviceOption o) const
 Возвращает текущее состояние опции "o".
 
void setOptions (DeviceOptions o)
 Устанавливает опции устройства
 
bool setOption (DeviceOption o, bool yes=true)
 Устанавливает опцию "o" устройства в "yes" и возвращает предыдущее состояние опции
 
DeviceInfoFlags infoFlags () const
 Возвращает характеристики канала
 
PIString path () const
 Возвращает текущий путь устройства
 
void setPath (const PIString &path)
 Устанавливает путь устройства. Не переоткрывает устройство
 
bool isReadable () const
 Возвращает равен ли режим открытия ReadOnly или ReadWrite.
 
bool isWriteable () const
 Возвращает равен ли режим открытия WriteOnly или ReadWrite.
 
bool isOpened () const
 Возвращает успешно ли открыто устройство
 
bool isClosed () const
 Возвращает закрыто ли устройство
 
virtual bool canRead () const
 Возвращает может ли устройство читать сейчас
 
virtual bool canWrite () const
 Возвращает может ли устройство писать сейчас
 
void setReopenEnabled (bool yes=true)
 Устанавливает возможность вызова open() при потоковом чтении на закрытом устройстве
 
void setReopenTimeout (PISystemTime timeout)
 Устанавливает задержку между вызовами open() если переоткрытие активно
 
bool isReopenEnabled () const
 Возвращает активно ли переоткрытие
 
PISystemTime reopenTimeout ()
 Возвращает задержку переоткрытия
 
void setThreadedReadSlot (ReadRetFunc func)
 Устанавливает callback потокового чтения Подробнее...
 
void setThreadedReadData (void *d)
 Устанавливает произвольный указатель, который будет передан в callback потокового чтения
 
void setThreadedReadBufferSize (int new_size)
 Устанавливает размер буфера потокового чтения Подробнее...
 
int threadedReadBufferSize () const
 Возвращает размер буфера потокового чтения
 
const uchar * threadedReadBuffer () const
 Возвращает содержимое буфера потокового чтения
 
void * threadedReadData () const
 Возвращает произвольный указатель, который будет передан в callback потокового чтения
 
bool isThreadedRead () const
 Возвращает запущен ли поток чтения
 
bool isThreadedReadStopping () const
 Возвращает останавливается ли поток чтения
 
void startThreadedRead ()
 Запускает потоковое чтение
 
void startThreadedRead (ReadRetFunc func)
 Запускает потоковое чтение и устанавливает callback потокового чтения в "func".
 
void stopThreadedRead ()
 Останавливает потоковое чтение.
 
void terminateThreadedRead ()
 Прерывает потоковое чтение. Подробнее...
 
bool waitThreadedReadFinished (PISystemTime timeout={})
 Ожидает завершения потокового чтения в течении не более "timeout".
 
bool isThreadedWrite () const
 Возвращает запущен ли поток записи
 
void startThreadedWrite ()
 Запускает потоковую запись
 
void stopThreadedWrite ()
 Останавливает потоковую запись.
 
void terminateThreadedWrite ()
 Прерывает потоковую запись. Подробнее...
 
bool waitThreadedWriteFinished (PISystemTime timeout={})
 Ожидает завершения потоковой записи в течении не более "timeout".
 
void clearThreadedWriteQueue ()
 Очищает очередь потоковой записи
 
void start ()
 Запускает потоковое чтение и запись
 
void stop ()
 Останавливает потоковое чтение и запись.
 
void stopAndWait (PISystemTime timeout={})
 Останавливает потоковое чтение и запись и ожидает завершения.
 
virtual void interrupt ()
 Прерывает блокирующую операцию.
 
ssize_t read (void *read_to, ssize_t max_size)
 Читает из устройства не более "max_size" байт в "read_to".
 
ssize_t read (PIMemoryBlock mb)
 Читает из устройства в блок памяти "mb".
 
PIByteArray read (ssize_t max_size)
 Читает из устройства не более "max_size" байт и возвращает данные как PIByteArray.
 
virtual ssize_t bytesAvailable () const
 Возвращает количество байт доступных для чтения Подробнее...
 
ssize_t write (const void *data, ssize_t max_size)
 Пишет в устройство не более "max_size" байт из "data".
 
PIByteArray readForTime (PISystemTime timeout)
 Читает из устройства в течении "timeout" и возвращает данные как PIByteArray.
 
ullong writeThreaded (const void *data, ssize_t max_size)
 Добавляет данные в очередь на потоковую запись и возвращает ID задания
 
ullong writeThreaded (const PIByteArray &data)
 Добавляет данные в очередь на потоковую запись и возвращает ID задания
 
virtual PIConstChars fullPathPrefix () const
 Возвращает префикс устройства. Creating devices by unambiguous string.
 
PIString constructFullPath () const
 Возвращает строку полного описания для этого устройства, fullPathPrefix() + "://" + ...
 
void configureFromFullPath (const PIString &full_path)
 Настраивает устройство из параметров строки полного описания
 
PIVariantTypes::IODevice constructVariant () const
 Возвращает PIVariantTypes::IODevice, описывающий это устройство
 
void configureFromVariant (const PIVariantTypes::IODevice &d)
 Настраивает устройство из PIVariantTypes::IODevice.
 
ssize_t write (const PIMemoryBlock &mb)
 Пишет в устройство блок памяти "mb".
 
bool open ()
 Открывает устройство
 
bool open (const PIString &_path)
 Открывает устройство с путём "path".
 
bool close ()
 Закрывает устройство
 
ssize_t write (PIByteArray data)
 Пишет "data" в устройство
 
virtual void flush ()
 Немедленно записать все буферизированные данные
 
void opened ()
 Вызывается при успешном открытии
 
void closed ()
 Вызывается при успешном закрытии
 
void threadedReadEvent (const uchar *readed, ssize_t size)
 Вызывается при успешном потоковом чтении данных
 
void threadedWriteEvent (ullong id, ssize_t written_size)
 Вызывается при успешной потоковой записи данных с ID задания "id".
 
- Открытые члены унаследованные от PIObject
 PIObject (const PIString &name=PIString())
 Создает PIObject с именем "name".
 
PIString name () const
 Возвращает имя объекта
 
virtual const char * className () const
 Возвращает имя класса объекта
 
virtual const char * parentClassName () const
 Возвращает имя родительского класса
 
bool debug () const
 Возвращает включен ли вывод piCoutObj для этого объекта
 
void setName (const PIString &name)
 Устанавливает имя объекта
 
void setDebug (bool debug)
 Включает или отключает вывод piCoutObj для этого объекта
 
PIVariant property (const char *name) const
 Возвращает свойство объекта по имени "name".
 
void setProperty (const char *name, const PIVariant &value)
 Устанавливает у объекта свойство по имени "name" в "value". Если такого свойства нет, оно добавляется
 
bool isPropertyExists (const char *name) const
 Возвращает присутствует ли свойство по имени "name".
 
PIStringList scopeList () const
 Возвращает цепочку наследования объекта (вместе с классом самого объекта)
 
void piDisconnect (const PIString &sig, PIObject *dest, void *ev_h)
 Разрывает все соединения от события "sig" к объекту "dest" и обработчику "ev_h".
 
void piDisconnect (const PIString &sig, PIObject *dest)
 Разрывает все соединения от события "sig" к объекту "dest".
 
void piDisconnect (const PIString &sig)
 Разрывает все соединения от события "sig".
 
bool isPIObject () const
 Возвращает действительный ли это PIObject (проверяет подпись)
 
template<typename T >
bool isTypeOf () const
 Возвращает действительный ли это наследник PIObject типа "T" (проверяет подпись и имя класса)
 
template<typename T >
T * cast () const
 Возвращает преобразование к типу T если это действительный наследник типа "T" (проверяет через isTypeOf()), или "nullptr".
 
void callQueuedEvents ()
 Выполнить все отложенные события от CONNECTU_QUEUED соединений
 
bool maybeCallQueuedEvents ()
 Если было хотя бы одно CONNECTU_QUEUED соединение с исполнителем this, то выполнить события Подробнее...
 
void deleteLater ()
 Пометить объект на удаление Подробнее...
 
void deleted (PIObject *o)
 Вызывается перед удалением объекта Подробнее...
 

Защищенные члены

bool openDevice () override
 Переопределите для открытия устройства, возвращаемое значение будет установлено в переменную "opened_". Не используйте напрямую, только через open()!
 
ssize_t readDevice (void *read_to, ssize_t max_size) override
 Переопределите для чтения данных из устройства
 
ssize_t writeDevice (const void *data, ssize_t max_size) override
 Переопределите для записи данных в устройство
 
DeviceInfoFlags deviceInfoFlags () const override
 Переопределите для возврата правильных DeviceInfoFlags. По умолчанию возвращает 0.
 
- Защищенные члены унаследованные от PIIODevice
virtual bool openDevice ()=0
 Переопределите для открытия устройства, возвращаемое значение будет установлено в переменную "opened_". Не используйте напрямую, только через open()!
 
virtual bool closeDevice ()
 Переопределите для закрытия устройства, обратное возвращаемое значение будет установлено в переменную "opened_".
 
virtual ssize_t readDevice (void *read_to, ssize_t max_size)
 Переопределите для чтения данных из устройства
 
virtual ssize_t writeDevice (const void *data, ssize_t max_size)
 Переопределите для записи данных в устройство
 
virtual bool threadedRead (const uchar *readed, ssize_t size)
 Метод вызывается после каждого успешного потокового чтения, по умолчанию вызывает callback "ret_func_".
 
virtual PIString constructFullPathDevice () const
 Переопределите для создания строки полного описания устройства. По умолчанию возвращает path()
 
virtual void configureFromFullPathDevice (const PIString &full_path)
 Переопределите для настройки устройства из строки полного описания. По умолчанию вызывает setPath()
 
virtual PIPropertyStorage constructVariantDevice () const
 Переопределите для создания свойств устройства. По умолчанию возвращает PIPropertyStorage со свойством "path".
 
virtual void configureFromVariantDevice (const PIPropertyStorage &d)
 Переопределите для настройки устройства из PIPropertyStorage. Опции и режим уже применены. По умолчанию устанавливает свойство "path".
 
virtual void optionsChanged ()
 Переопределите для применения новых опций устройства
 
virtual DeviceInfoFlags deviceInfoFlags () const
 Переопределите для возврата правильных DeviceInfoFlags. По умолчанию возвращает 0.
 
virtual void threadedReadBufferSizeChanged ()
 Переопределите для применения нового threadedReadBufferSize()
 
- Защищенные члены унаследованные от PIObject
PIObjectemitter () const
 Возвращает PIObject* который вызвал это событие. Значение допустимо только из методов обработчиков событий
 
virtual void propertyChanged (const char *name)
 Виртуальная функция, вызывается после изменения любого свойства.
 

Дополнительные унаследованные члены

- Открытые типы унаследованные от PIIODevice
enum  DeviceMode { ReadOnly = 0x01 , WriteOnly = 0x02 , ReadWrite = 0x03 }
 Режимы открытия для PIIODevice. Подробнее...
 
enum  DeviceOption { BlockingRead = 0x01 , BlockingWrite = 0x02 }
 Опции для PIIODevice, работает для некоторых устройств Подробнее...
 
enum  DeviceInfoFlag { Sequential = 0x01 , Reliable = 0x02 }
 Характеристики канала PIIODevice. Подробнее...
 
- Открытые статические члены унаследованные от PIIODevice
static PIIODevicecreateFromFullPath (const PIString &full_path)
 Пытается создать новое устройство по префиксу, настраивает с помощью configureFromFullPath() и возвращает его Подробнее...
 
static PIIODevicecreateFromVariant (const PIVariantTypes::IODevice &d)
 Пытается создать новое устройство по префиксу, настраивает с помощью configureFromVariant() и возвращает его
 
static PIStringList availablePrefixes ()
 Возвращает префиксы всех зарегистрированных устройств
 
static PIStringList availableClasses ()
 Возвращает имена классов всех зарегистрированных устройств
 
- Открытые статические члены унаследованные от PIObject
static void piDisconnect (PIObject *src, const PIString &sig, PIObject *dest, void *ev_h)
 Разрывает все соединения от события "sig" объекта "src" к объекту "dest" и обработчику "ev_h".
 
static void piDisconnect (PIObject *src, const PIString &sig, PIObject *dest)
 Разрывает все соединения от события "sig" объекта "src" к объекту "dest".
 
static void piDisconnect (PIObject *src, const PIString &sig)
 Разрывает все соединения от события "sig" объекта "src".
 
static PIObjectfindByName (const PIString &name)
 Returns PIObject* with name "name" or 0, if there is no object found.
 
static bool isPIObject (const PIObject *o)
 Возвращает действительный ли "o" PIObject (проверяет подпись)
 
template<typename T >
static bool isTypeOf (const PIObject *o)
 Возвращает действительный ли "o" наследник PIObject типа "T" (проверяет подпись и имя класса)
 
- Открытые атрибуты унаследованные от PIIODevice
bool reopenEnabled
 setReopenEnabled, по умолчанию "true"
 
int reopenTimeout
 setReopenTimeout, по умолчанию 1_s
 
int threadedReadBufferSize
 setThreadedReadBufferSize в байтах, по умолчанию 4096
 

Подробное описание

Обёртка PIIODevice вокруг PIString.

Этот класс позволяет использовать PIString в качестве PIIODevice, например, для передачи в PIConfig.

Методы

◆ bytesAvailable()

ssize_t PIIOString::bytesAvailable ( ) const
overridevirtual

Возвращает количество байт доступных для чтения

Эта функция как правило используется чтобы знать какой размер буфера нужен в памяти для чтения. Если функция возвращает -1 это значит что количество байт для чтения не известно.

Переопределяет метод предка PIIODevice.