QVariant UInt16Codec::value( const PODData& data, int* byteCount ) const { const quint16* pointer = (quint16*)data.pointer( 2 ); *byteCount = pointer ? 2 : 0; return pointer ? QVariant::fromValue<UInt16>( UInt16(*pointer) ) : QVariant(); }
QVariant UInt8Codec::value( const PODData& data, int* byteCount ) const { const quint8* pointer = (quint8*)data.pointer( 1 ); *byteCount = pointer ? 1 : 0; return pointer ? QVariant::fromValue<UInt8>( UInt8(*pointer) ) : QVariant(); }
QVariant Float64Codec::value( const PODData& data, int* byteCount ) const { const double* pointer = (double*)data.pointer( 8 ); *byteCount = pointer ? 8 : 0; return pointer ? QVariant::fromValue<Float64>( Float64(*pointer) ) : QVariant(); }
QVariant SInt32Codec::value( const PODData& data, int* byteCount ) const { const qint32* pointer = (qint32*)data.pointer( 4 ); *byteCount = pointer ? 4 : 0; return pointer ? QVariant::fromValue<SInt32>( SInt32(*pointer) ) : QVariant(); }
QVariant Octal8Codec::value( const PODData& data, int* byteCount ) const { const unsigned char* pointer = (unsigned char*)data.pointer( 1 ); *byteCount = pointer ? 1 : 0; return pointer ? QVariant::fromValue<Octal8>( Octal8(*pointer) ) : QVariant(); }
QVariant Char8Codec::value( const PODData& data, int* byteCount ) const { const unsigned char* pointer = (unsigned char*)data.pointer( 1 ); *byteCount = pointer ? 1 : 0; QVariant result; if( pointer ) { const Okteta::Character decodedChar = mCharCodec->decode( *pointer ); result = QVariant::fromValue<Char8>( Char8(decodedChar) ); } return result; }