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

Simple packet wrap aroud any PIIODevice. Подробнее...

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

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

 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
PIObjectemitter () 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 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" (проверяет подпись и имя класса)
 

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

Simple packet wrap aroud any PIIODevice.

Synopsis

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.