WARNING: USE THIS SOFTWARE AT YOUR OWN RISK! THIS IS EXPERIMENTAL SOFTWARE NOT INTENDED FOR PRODUCTION USE! Zuble is currently an early stage prototype. As such Zuble is minimally tested and inherently unstable. It is provided for experimental, development, and demonstration purposes only. Zuble QML Types   |  Zuble C++ Classes   |  Zuble Overview
Zuble  0.1
Zuble Framework C++/QML extension API
Public Types | Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Properties | List of all members
Zbl::ZDataStream Class Reference

Reads and writes binary data to an i/o stream. More...

#include <ZDataStream.h>

Inheritance diagram for Zbl::ZDataStream:
Inheritance graph
[legend]
Collaboration diagram for Zbl::ZDataStream:
Collaboration graph
[legend]

Public Types

enum  Status { StatusOk = QDataStream::Ok, StatusReadPastEnd = QDataStream::ReadPastEnd, StatusReadCorruptData = QDataStream::ReadCorruptData, StatusWriteFailed = QDataStream::WriteFailed }
 
enum  Version {
  Version_Qt_1_0 = QDataStream::Qt_1_0, Version_Qt_2_0 = QDataStream::Qt_2_0, Version_Qt_2_1 = QDataStream::Qt_2_1, Version_Qt_3_0 = QDataStream::Qt_3_0,
  Version_Qt_3_1 = QDataStream::Qt_3_1, Version_Qt_3_3 = QDataStream::Qt_3_3, Version_Qt_4_0 = QDataStream::Qt_4_0, Version_Qt_4_1 = QDataStream::Qt_4_1,
  Version_Qt_4_2 = QDataStream::Qt_4_2, Version_Qt_4_3 = QDataStream::Qt_4_3, Version_Qt_4_4 = QDataStream::Qt_4_4, Version_Qt_4_5 = QDataStream::Qt_4_5,
  Version_Qt_4_6 = QDataStream::Qt_4_6, Version_Qt_4_7 = QDataStream::Qt_4_7, Version_Qt_4_8 = QDataStream::Qt_4_8, Version_Qt_4_9 = QDataStream::Qt_4_9,
  Version_Qt_5_0 = QDataStream::Qt_5_0, Version_Qt_5_1 = QDataStream::Qt_5_1, Version_Qt_5_2 = QDataStream::Qt_5_2, Version_Qt_5_3 = QDataStream::Qt_5_3,
  Version_Qt_5_4 = QDataStream::Qt_5_4, Version_Qt_5_5 = QDataStream::Qt_5_5, Version_Qt_5_6 = QDataStream::Qt_5_6, Version_Qt_5_7 = QDataStream::Qt_5_7,
  Version_Qt_5_8 = QDataStream::Qt_5_8, Version_Qt_5_9 = QDataStream::Qt_5_9, Version_Qt_5_10 = QDataStream::Qt_5_10, Version_Qt_5_11 = QDataStream::Qt_5_11,
  Version_Qt_5_12 = QDataStream::Qt_5_12, Version_Qt_5_13 = QDataStream::Qt_5_13, Qt_DefaultCompiledVersion = Version_Qt_5_13
}
 
enum  ByteOrder { ByteOrderBigEndian = QDataStream::BigEndian, ByteOrderLittleEndian = QDataStream::LittleEndian }
 
enum  FloatingPointPrecision { FpSinglePrecision = QDataStream::SinglePrecision, FpDoublePrecision = QDataStream::DoublePrecision }
 
typedef QSharedPointer< QDataStream > QDataStreamPtr
 

Public Slots

void getQDevice (QIODevice **device)
 

Public Member Functions

 ZDataStream (QObject *parent=0)
 
 ZDataStream (const ZqIODevicePtr device, QObject *parent=0)
 
 ZDataStream (const ZqByteArrayPtr byteArray, QObject *parent=0)
 
uint getStatus () const
 
QObject * getJsDevice ()
 
QVariant getTags ()
 
void setByteOrder (uint byteOrder)
 
uint getByteOrder () const
 
void setFloatingPointPrecision (uint floatingPointPrecision)
 
uint getFloatingPointPrecision () const
 
void setVersion (uint version)
 
uint getVersion () const
 
Q_INVOKABLE void release ()
 
Q_INVOKABLE void resetStatus ()
 
Q_INVOKABLE QList< int > jReadBytes ()
 
Q_INVOKABLE bool jWriteBytes (const QList< int > data)
 
Q_INVOKABLE QObject * zReadBytes ()
 
Q_INVOKABLE bool zWriteBytes (QObject *zByteArray)
 
Q_INVOKABLE QList< int > jReadRawData (uint len)
 
Q_INVOKABLE bool jWriteRawData (const QList< int > data)
 
Q_INVOKABLE QObject * zReadRawData (uint len)
 
Q_INVOKABLE bool zWriteRawData (QObject *zByteArray)
 
Q_INVOKABLE uint skipRawData (uint len)
 
Q_INVOKABLE quint8 readByte ()
 
Q_INVOKABLE qint16 readInt16 ()
 
Q_INVOKABLE quint16 readUInt16 ()
 
Q_INVOKABLE qint32 readInt32 ()
 
Q_INVOKABLE quint32 readUInt32 ()
 
Q_INVOKABLE qint64 readInt64 ()
 
Q_INVOKABLE quint64 readUInt64 ()
 
Q_INVOKABLE float readFloat ()
 
Q_INVOKABLE double readDouble ()
 
Q_INVOKABLE bool writeByte (quint8 data)
 
Q_INVOKABLE bool writeInt16 (qint16 data)
 
Q_INVOKABLE bool writeUInt16 (quint16 data)
 
Q_INVOKABLE bool writeInt32 (qint32 data)
 
Q_INVOKABLE bool writeUInt32 (quint32 data)
 
Q_INVOKABLE bool writeInt64 (qint64 data)
 
Q_INVOKABLE bool writeUInt64 (quint64 data)
 
Q_INVOKABLE bool writeFloat (float data)
 
Q_INVOKABLE bool writeDouble (double data)
 

Static Public Member Functions

static void registerType ()
 Registers ZDataStream as a QML type. More...
 

Protected Member Functions

void validateData () const
 
void validateReadable () const
 
void validateWritable () const
 
void initZioDevice ()
 
void createTags ()
 

Protected Attributes

ZqIODevicePtr m_dv
 Smartpointer to embedded QIODevice. More...
 
ZqByteArrayPtr m_b
 Smartpointer to embedded QByteArray. More...
 
QDataStreamPtr m_ds
 Smartpointer to embedded QDataStream. More...
 
ZioDevicem_zd
 Pointer to contained ZioDevice object. More...
 

Static Protected Attributes

static QVariant m_tags
 QVariantMap of QDataStream enumerations for use by Javascript programs. More...
 

Properties

uint status
 
QObject device
 
QVariant tags
 
uint byteOrder
 
uint floatingPointPrecision
 
uint version
 

Detailed Description

Reads and writes binary data to an i/o stream.

This class presents a Javascript interface to Qt QDataStream objects. The data stream can be connected to either a QIODevice or QByteArray object.

Bytes can be read and written using either Javascript arrays of integers (only the low order byte of each integer is used), ZByteArray objects (Javascript wrapper objects for QByteArray) or various size integer, float and double types.

Definition at line 53 of file ZDataStream.h.

Member Typedef Documentation

◆ QDataStreamPtr

typedef QSharedPointer<QDataStream> Zbl::ZDataStream::QDataStreamPtr

Definition at line 62 of file ZDataStream.h.

Member Enumeration Documentation

◆ ByteOrder

Enumerator
ByteOrderBigEndian 
ByteOrderLittleEndian 

Definition at line 119 of file ZDataStream.h.

◆ FloatingPointPrecision

Enumerator
FpSinglePrecision 
FpDoublePrecision 

Definition at line 124 of file ZDataStream.h.

◆ Status

Enumerator
StatusOk 
StatusReadPastEnd 
StatusReadCorruptData 
StatusWriteFailed 

Definition at line 71 of file ZDataStream.h.

◆ Version

Enumerator
Version_Qt_1_0 
Version_Qt_2_0 
Version_Qt_2_1 
Version_Qt_3_0 
Version_Qt_3_1 
Version_Qt_3_3 
Version_Qt_4_0 
Version_Qt_4_1 
Version_Qt_4_2 
Version_Qt_4_3 
Version_Qt_4_4 
Version_Qt_4_5 
Version_Qt_4_6 
Version_Qt_4_7 
Version_Qt_4_8 
Version_Qt_4_9 
Version_Qt_5_0 
Version_Qt_5_1 
Version_Qt_5_2 
Version_Qt_5_3 
Version_Qt_5_4 
Version_Qt_5_5 
Version_Qt_5_6 
Version_Qt_5_7 
Version_Qt_5_8 
Version_Qt_5_9 
Version_Qt_5_10 
Version_Qt_5_11 
Version_Qt_5_12 
Version_Qt_5_13 
Qt_DefaultCompiledVersion 

Definition at line 79 of file ZDataStream.h.

Constructor & Destructor Documentation

◆ ZDataStream() [1/3]

Zbl::ZDataStream::ZDataStream ( QObject *  parent = 0)
explicit

Definition at line 88 of file ZDataStream.cpp.

◆ ZDataStream() [2/3]

Zbl::ZDataStream::ZDataStream ( const ZqIODevicePtr  device,
QObject *  parent = 0 
)
explicit

Definition at line 99 of file ZDataStream.cpp.

◆ ZDataStream() [3/3]

Zbl::ZDataStream::ZDataStream ( const ZqByteArrayPtr  byteArray,
QObject *  parent = 0 
)
explicit

Definition at line 117 of file ZDataStream.cpp.

Member Function Documentation

◆ createTags()

void Zbl::ZDataStream::createTags ( )
protected

Definition at line 36 of file ZDataStream.cpp.

Referenced by ZDataStream().

◆ getByteOrder()

uint Zbl::ZDataStream::getByteOrder ( ) const

Definition at line 228 of file ZDataStream.cpp.

Referenced by writeByte().

◆ getFloatingPointPrecision()

uint Zbl::ZDataStream::getFloatingPointPrecision ( ) const

Definition at line 246 of file ZDataStream.cpp.

Referenced by writeByte().

◆ getJsDevice()

QObject * Zbl::ZDataStream::getJsDevice ( )

Definition at line 195 of file ZDataStream.cpp.

◆ getQDevice

void Zbl::ZDataStream::getQDevice ( QIODevice **  device)
slot

Definition at line 202 of file ZDataStream.cpp.

Referenced by initZioDevice(), and release().

◆ getStatus()

uint Zbl::ZDataStream::getStatus ( ) const

Definition at line 207 of file ZDataStream.cpp.

Referenced by writeByte().

◆ getTags()

QVariant Zbl::ZDataStream::getTags ( )

Definition at line 215 of file ZDataStream.cpp.

◆ getVersion()

uint Zbl::ZDataStream::getVersion ( ) const

Definition at line 263 of file ZDataStream.cpp.

Referenced by writeByte().

◆ initZioDevice()

void Zbl::ZDataStream::initZioDevice ( )
protected

Definition at line 135 of file ZDataStream.cpp.

Referenced by ZDataStream().

◆ jReadBytes()

QList< int > Zbl::ZDataStream::jReadBytes ( )

Definition at line 294 of file ZDataStream.cpp.

◆ jReadRawData()

QList< int > Zbl::ZDataStream::jReadRawData ( uint  len)

Definition at line 387 of file ZDataStream.cpp.

◆ jWriteBytes()

bool Zbl::ZDataStream::jWriteBytes ( const QList< int >  data)

Definition at line 271 of file ZDataStream.cpp.

◆ jWriteRawData()

bool Zbl::ZDataStream::jWriteRawData ( const QList< int >  data)

Definition at line 354 of file ZDataStream.cpp.

◆ readByte()

readUInt16 readUInt32 readUInt64 readDouble quint8 Zbl::ZDataStream::readByte ( )

Definition at line 505 of file ZDataStream.cpp.

◆ readDouble()

Q_INVOKABLE double Zbl::ZDataStream::readDouble ( )

◆ readFloat()

Q_INVOKABLE float Zbl::ZDataStream::readFloat ( )

◆ readInt16()

Q_INVOKABLE qint16 Zbl::ZDataStream::readInt16 ( )

◆ readInt32()

Q_INVOKABLE qint32 Zbl::ZDataStream::readInt32 ( )

◆ readInt64()

Q_INVOKABLE qint64 Zbl::ZDataStream::readInt64 ( )

◆ readUInt16()

Q_INVOKABLE quint16 Zbl::ZDataStream::readUInt16 ( )

◆ readUInt32()

Q_INVOKABLE quint32 Zbl::ZDataStream::readUInt32 ( )

◆ readUInt64()

Q_INVOKABLE quint64 Zbl::ZDataStream::readUInt64 ( )

◆ registerType()

void Zbl::ZDataStream::registerType ( )
static

Registers ZDataStream as a QML type.

Definition at line 144 of file ZDataStream.cpp.

Referenced by Zbl::Zblcore::registerTypes().

◆ release()

void Zbl::ZDataStream::release ( )

Definition at line 176 of file ZDataStream.cpp.

◆ resetStatus()

void Zbl::ZDataStream::resetStatus ( )

Definition at line 187 of file ZDataStream.cpp.

◆ setByteOrder()

void Zbl::ZDataStream::setByteOrder ( uint  byteOrder)

Definition at line 220 of file ZDataStream.cpp.

Referenced by writeByte().

◆ setFloatingPointPrecision()

void Zbl::ZDataStream::setFloatingPointPrecision ( uint  floatingPointPrecision)

Definition at line 236 of file ZDataStream.cpp.

Referenced by writeByte().

◆ setVersion()

void Zbl::ZDataStream::setVersion ( uint  version)

Definition at line 255 of file ZDataStream.cpp.

Referenced by writeByte().

◆ skipRawData()

uint Zbl::ZDataStream::skipRawData ( uint  len)

Definition at line 472 of file ZDataStream.cpp.

◆ validateData()

void Zbl::ZDataStream::validateData ( ) const
protected

◆ validateReadable()

void Zbl::ZDataStream::validateReadable ( ) const
protected

Definition at line 158 of file ZDataStream.cpp.

Referenced by jReadBytes(), jReadRawData(), readByte(), zReadBytes(), and zReadRawData().

◆ validateWritable()

void Zbl::ZDataStream::validateWritable ( ) const
protected

Definition at line 167 of file ZDataStream.cpp.

Referenced by jWriteBytes(), jWriteRawData(), writeByte(), zWriteBytes(), and zWriteRawData().

◆ writeByte()

writeUInt16 writeUInt32 writeUInt64 writeDouble bool Zbl::ZDataStream::writeByte ( quint8  data)

Definition at line 537 of file ZDataStream.cpp.

◆ writeDouble()

Q_INVOKABLE bool Zbl::ZDataStream::writeDouble ( double  data)

◆ writeFloat()

Q_INVOKABLE bool Zbl::ZDataStream::writeFloat ( float  data)

◆ writeInt16()

Q_INVOKABLE bool Zbl::ZDataStream::writeInt16 ( qint16  data)

◆ writeInt32()

Q_INVOKABLE bool Zbl::ZDataStream::writeInt32 ( qint32  data)

◆ writeInt64()

Q_INVOKABLE bool Zbl::ZDataStream::writeInt64 ( qint64  data)

◆ writeUInt16()

Q_INVOKABLE bool Zbl::ZDataStream::writeUInt16 ( quint16  data)

◆ writeUInt32()

Q_INVOKABLE bool Zbl::ZDataStream::writeUInt32 ( quint32  data)

◆ writeUInt64()

Q_INVOKABLE bool Zbl::ZDataStream::writeUInt64 ( quint64  data)

◆ zReadBytes()

QObject * Zbl::ZDataStream::zReadBytes ( )

Definition at line 328 of file ZDataStream.cpp.

◆ zReadRawData()

QObject * Zbl::ZDataStream::zReadRawData ( uint  len)

Definition at line 423 of file ZDataStream.cpp.

◆ zWriteBytes()

bool Zbl::ZDataStream::zWriteBytes ( QObject *  zByteArray)

Definition at line 339 of file ZDataStream.cpp.

◆ zWriteRawData()

bool Zbl::ZDataStream::zWriteRawData ( QObject *  zByteArray)

Definition at line 456 of file ZDataStream.cpp.

Member Data Documentation

◆ m_b

ZqByteArrayPtr Zbl::ZDataStream::m_b
protected

Smartpointer to embedded QByteArray.

Definition at line 223 of file ZDataStream.h.

Referenced by release(), and validateData().

◆ m_ds

QDataStreamPtr Zbl::ZDataStream::m_ds
protected

◆ m_dv

ZqIODevicePtr Zbl::ZDataStream::m_dv
protected

Smartpointer to embedded QIODevice.

Definition at line 218 of file ZDataStream.h.

Referenced by release(), validateData(), validateReadable(), validateWritable(), and ZDataStream().

◆ m_tags

QVariant Zbl::ZDataStream::m_tags
staticprotected

QVariantMap of QDataStream enumerations for use by Javascript programs.

Definition at line 239 of file ZDataStream.h.

Referenced by createTags(), and getTags().

◆ m_zd

ZioDevice* Zbl::ZDataStream::m_zd
protected

Pointer to contained ZioDevice object.

Definition at line 233 of file ZDataStream.h.

Referenced by getJsDevice(), initZioDevice(), and release().

Property Documentation

◆ byteOrder

uint Zbl::ZDataStream::byteOrder
readwrite

Definition at line 143 of file ZDataStream.h.

Referenced by writeByte().

◆ device

QObject Zbl::ZDataStream::device
read

Definition at line 141 of file ZDataStream.h.

◆ floatingPointPrecision

uint Zbl::ZDataStream::floatingPointPrecision
readwrite

Definition at line 145 of file ZDataStream.h.

Referenced by writeByte().

◆ status

uint Zbl::ZDataStream::status
read

Definition at line 140 of file ZDataStream.h.

Referenced by jWriteBytes(), and jWriteRawData().

◆ tags

QVariant Zbl::ZDataStream::tags
read

Definition at line 142 of file ZDataStream.h.

◆ version

uint Zbl::ZDataStream::version
readwrite

Definition at line 146 of file ZDataStream.h.

Referenced by writeByte().


The documentation for this class was generated from the following files: