![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Simple packet wrap aroud any PIIODevice. Подробнее...
Открытые члены | |
| PIStreamPacker (PIIODevice *dev=nullptr) | |
| Contructs packer and try to assign "dev". | |
| int | receivePacketProgress () const |
| Returns progress of current packet receive in bytes. | |
| void | send (const PIByteArray &data) |
| Prepare data for send and raise sendRequest() events. | |
| void | received (const PIByteArray &data) |
| Receive data part. If packet is ready, raise packetReceiveEvent() event and packetReceived() virtual method. | |
| void | assignDevice (PIIODevice *dev) |
| Connect "dev" PIIODevice::threadedReadEvent() event to received() handler and sendRequest() event to "dev" PIIODevice::write() handler. | |
Открытые члены унаследованные от 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) |
| Вызывается перед удалением объекта Подробнее... | |
Защищенные члены | |
| virtual void | packetReceived (PIByteArray data) |
| Packet successfully received, by default does nothing. | |
Защищенные члены унаследованные от PIObject | |
| PIObject * | emitter () const |
| Возвращает PIObject* который вызвал это событие. Значение допустимо только из методов обработчиков событий | |
| virtual void | propertyChanged (const char *name) |
| Виртуальная функция, вызывается после изменения любого свойства. | |
Events | |
| void | packetReceiveEvent (PIByteArray &data) |
| Raise on packet successfully received. | |
| void | startPacketReceive (int size) |
| Raise on start receive packet with overall size "size". | |
| void | endPacketReceive () |
| Raise on finish receive packet. | |
| void | sendRequest (PIByteArray data) |
| Raise from send() function. This data should be directly sended to your device. You can connect this event to PIIODevice::write() handler. | |
Дополнительные унаследованные члены | |
Открытые статические члены унаследованные от 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 PIObject * | findByName (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" (проверяет подпись и имя класса) | |
Относящиеся к классу функции унаследованные от PIObject | |
| #define | piCoutObj |
| Макрос для условного (piDebug && PIObject::debug()) вывода в PICout(StdOut) для наследников PIObject. | |
| #define | piCerrObj |
| Макрос для условного (piDebug && PIObject::debug()) вывода в PICout(StdErr) для наследников PIObject. | |
| #define | PIOBJECT(name) |
| Необходимо использовать этот макрос после объявления класса для использования событийной системы и корректного вывода piCoutObj. | |
| #define | EVENT_HANDLER0(ret, name) ret name() |
| Объявляет обработчик событий с именем "name" и возвращаемым типом "ret", ret name() | |
| #define | EVENT_HANDLER1(ret, name, type0, var0) ret name(type0 var0) |
| Объявляет обработчик событий с именем "name" и возвращаемым типом "ret", ret name(type0 var0) | |
| #define | EVENT_HANDLER2(ret, name, type0, var0, type1, var1) ret name(type0 var0, type1 var1) |
| Объявляет обработчик событий с именем "name" и возвращаемым типом "ret", ret name(type0 var0, type1 var1) | |
| #define | EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2) ret name(type0 var0, type1 var1, type2 var2) |
| Объявляет обработчик событий с именем "name" и возвращаемым типом "ret", ret name(type0 var0, type1 var1, type2 var2) | |
| #define | EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Объявляет обработчик событий с именем "name" и возвращаемым типом "ret", ret name(type0 var0, type1 var1, type2 var2,
type3 var3) | |
| #define | EVENT_HANDLER EVENT_HANDLER0 |
| Аналог EVENT_HANDLER0. | |
| #define | EVENT_VHANDLER0(ret, name) virtual ret name() |
| Объявляет виртуальный обработчик событий с именем "name" и возвращаемым типом "ret", virtual ret name() | |
| #define | EVENT_VHANDLER1(ret, name, type0, var0) virtual ret name(type0 var0) |
| Объявляет виртуальный обработчик событий с именем "name" и возвращаемым типом "ret", virtual ret name(type0 var0) | |
| #define | EVENT_VHANDLER2(ret, name, type0, var0, type1, var1) virtual ret name(type0 var0, type1 var1) |
| Объявляет виртуальный обработчик событий с именем "name" и возвращаемым типом "ret", virtual ret name(type0 var0, type1
var1) | |
| #define | EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2) virtual ret name(type0 var0, type1 var1, type2 var2) |
| Объявляет виртуальный обработчик событий с именем "name" и возвращаемым типом "ret", virtual ret name(type0 var0, type1
var1, type2 var2) | |
| #define | EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| Объявляет виртуальный обработчик событий с именем "name" и возвращаемым типом "ret", virtual ret name(type0 var0, type1
var1, type2 var2, type3 var3) | |
| #define | EVENT_VHANDLER EVENT_VHANDLER0 |
| Аналог EVENT_VHANDLER0. | |
| #define | EVENT0(name) void name(); |
| Объявляет событие с именем "name", void name();. | |
| #define | EVENT1(name, type0, var0) void name(type0 var0); |
| Объявляет событие с именем "name", void name(type0 var0);. | |
| #define | EVENT2(name, type0, var0, type1, var1) void name(type0 var0, type1 var1); |
| Объявляет событие с именем "name", void name(type0 var0, type1 var1);. | |
| #define | EVENT3(name, type0, var0, type1, var1, type2, var2) void name(type0 var0, type1 var1, type2 var2); |
| Объявляет событие с именем "name", void name(type0 var0, type1 var1, type2 var2);. | |
| #define | EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3) void name(type0 var0, type1 var1, type2 var2, type3 var3); |
| Объявляет событие с именем "name", void name(type0 var0, type1 var1, type2 var2, type3 var3);. | |
| #define | EVENT EVENT0 |
| Аналог EVENT0. | |
| #define | CONNECTU(src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" объекта "dest". Подробнее... | |
| #define | CONNECTU_QUEUED(src, event, dest, handler, performer) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" объекта "dest". Подробнее... | |
| #define | CONNECTL(src, event, functor) |
| Соединяет событие "event" объекта "src" к лямбда-функции "functor". Подробнее... | |
| #define | CONNECT0(ret, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" с проверкой наличия события и обработчика. Подробнее... | |
| #define | CONNECT1(ret, type0, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" с проверкой наличия события и обработчика. Подробнее... | |
| #define | CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" с проверкой наличия события и обработчика. Подробнее... | |
| #define | CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" с проверкой наличия события и обработчика. Подробнее... | |
| #define | CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" с проверкой наличия события и обработчика. Подробнее... | |
| #define | CONNECT CONNECT0 |
| Аналог CONNECT0. Подробнее... | |
| #define | WEAK_CONNECT0(ret, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" без проверки наличия события и обработчика. Подробнее... | |
| #define | WEAK_CONNECT1(ret, type0, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" без проверки наличия события и обработчика. Подробнее... | |
| #define | WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" без проверки наличия события и обработчика. Подробнее... | |
| #define | WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" без проверки наличия события и обработчика. Подробнее... | |
| #define | WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| Соединяет событие "event" объекта "src" к обработчику или событию "handler" с возвращаемым типом "ret" объекта "dest" без проверки наличия события и обработчика. Подробнее... | |
| #define | WEAK_CONNECT WEAK_CONNECT0 |
| Аналог WEAK_CONNECT0. Подробнее... | |
| #define | DISCONNECT0(ret, src, event, dest, handler) |
| piDisconnect событие "event" объекта "src" от обработчика или события "handler" с возвращаемым типом "ret" объекта "dest" | |
| #define | DISCONNECT1(ret, type0, src, event, dest, handler) |
| piDisconnect событие "event" объекта "src" от обработчика или события "handler" с возвращаемым типом "ret" объекта "dest" | |
| #define | DISCONNECT2(ret, type0, type1, src, event, dest, handler) |
| piDisconnect событие "event" объекта "src" от обработчика или события "handler" с возвращаемым типом "ret" объекта "dest" | |
| #define | DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| piDisconnect событие "event" объекта "src" от обработчика или события "handler" с возвращаемым типом "ret" объекта "dest" | |
| #define | DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| piDisconnect событие "event" объекта "src" от обработчика или события "handler" с возвращаемым типом "ret" объекта "dest" | |
| #define | DISCONNECT DISCONNECT0 |
| Аналог DISCONNECT0. | |
| #define | HANDLER(handler) |
| Возвращает указатель на обработчик события "handler". | |
Simple packet wrap aroud any PIIODevice.
PIStreamPacker provides simple pack/unpack logic for any data packets.
When you call send() function data splited into several parts, packetSign() prepended to first part and sendRequest() event raised several times.
When your device receive some data, call received() function. packetReceiveEvent() event will be raised when packet will be collected.
Use assignDevice() to connect device to this PIStreamPacker.