Public Types | Public Member Functions

zeus::IZVariant Class Reference

#include <IZVariant.hpp>

Inheritance diagram for zeus::IZVariant:
zeus::ISerializable zeus::IZUnknown zeus::TZVariant

List of all members.

Public Types

enum  EZVariantType {
  etEmpty = 0, etInt8 = 1, etInt16 = 2, etInt32 = 3,
  etInt64 = 4, etFloat32 = 5, etFloat64 = 6, etString = 7,
  etByteArray = 8, etObject = 9, etObjectList = 10, etUint8 = 11,
  etUint16 = 12, etUint32 = 13, etUint64 = 14
}

Public Member Functions

virtual EZVariantType MQUALIFIER getType () const =0
virtual void MQUALIFIER getVariantName (IString &rstrName) const =0
virtual Retval MQUALIFIER getInt8 (Int8 &ri8Ret) const =0
virtual Retval MQUALIFIER getInt16 (Int16 &ri16Ret) const =0
virtual Retval MQUALIFIER getInt32 (Int32 &ri32Ret) const =0
virtual Retval MQUALIFIER getInt64 (Int64 &ri64Ret) const =0
virtual Retval MQUALIFIER getUint8 (Uint8 &rui8Ret) const =0
virtual Retval MQUALIFIER getUint16 (Uint16 &rui16Ret) const =0
virtual Retval MQUALIFIER getUint32 (Uint32 &rui32Ret) const =0
virtual Retval MQUALIFIER getUint64 (Uint64 &rui64Ret) const =0
virtual Retval MQUALIFIER getFloat32 (Float32 &rf32Ret) const =0
virtual Retval MQUALIFIER getFloat64 (Float64 &rf64Ret) const =0
virtual Retval MQUALIFIER getRetval (Retval &rretRet) const =0
virtual Retval MQUALIFIER getTimeval (Timeval &rtmRet) const =0
virtual Retval MQUALIFIER getString (IString &rstrRet) const =0
virtual Retval MQUALIFIER getByteArray (IByteArray &raRet) const =0
virtual Retval MQUALIFIER getObject (ISerializable *&rpRet) const =0
virtual Retval MQUALIFIER getCastedObject (const InterfaceID &rIfaceID, IZUnknown *&rpRet) const =0
virtual Retval MQUALIFIER getObjectList (ISerializableList &rRet) const =0
virtual void MQUALIFIER setVariantName (const IString &rstrName)=0
virtual void MQUALIFIER setInt8 (Int8 i8Val)=0
virtual void MQUALIFIER setInt16 (Int16 i16Val)=0
virtual void MQUALIFIER setInt32 (Int32 i32Val)=0
virtual void MQUALIFIER setInt64 (Int64 i64Val)=0
virtual void MQUALIFIER setUint8 (Uint8 ui8Val)=0
virtual void MQUALIFIER setUint16 (Uint16 ui16Val)=0
virtual void MQUALIFIER setUint32 (Uint32 ui32Val)=0
virtual void MQUALIFIER setUint64 (Uint64 ui64Val)=0
virtual void MQUALIFIER setFloat32 (Float32 f32Val)=0
virtual void MQUALIFIER setFloat64 (Float64 f64Val)=0
virtual void MQUALIFIER setRetval (Retval retVal)=0
virtual void MQUALIFIER setTimeval (Timeval tmVal)=0
virtual void MQUALIFIER setString (const IString &rstrVal)=0
virtual void MQUALIFIER setByteArray (const IByteArray &raVal)=0
virtual void MQUALIFIER setObject (const ISerializable &rVal)=0
virtual void MQUALIFIER setObjectList (const ISerializableList &rVal)=0
virtual Retval MQUALIFIER assign (const IZVariant &rInpar)=0
virtual bool MQUALIFIER equals (const IZVariant &rInpar) const =0
virtual Int MQUALIFIER compareTo (const IZVariant &rInpar) const =0
virtual Int MQUALIFIER toInt (Int iDefault=0) const =0
virtual Uint MQUALIFIER toUint (Uint uiDefault=0) const =0
virtual Float MQUALIFIER toFloat (Float fDefault=0) const =0
virtual void MQUALIFIER toString (IString &rstrValue) const =0

Detailed Description

This interface defines a variant datatype. This datatype is designed to wrap regular primitive datatypes and complex serializabl;e objects. Its used for serializing and deserializing data over the network.


Member Enumeration Documentation

Datatypes of a variant

Enumerator:
etEmpty 

Unknown or Empty data

etInt8 

a int8 value

etInt16 

a int16 value

etInt32 

a int32 value

etInt64 

a int64 value

etFloat32 

a float32 value

etFloat64 

a float64 value

etString 

a wide char based string

etByteArray 

a byte array (stream)

etObject 

a object

etObjectList 

list of objects

etUint8 

a unsigned int8 value

etUint16 

a unsigned int16 value

etUint32 

a unsigned int32 value

etUint64 

a unsigned int64 value


Member Function Documentation

virtual Retval MQUALIFIER zeus::IZVariant::assign ( const IZVariant rInpar ) [pure virtual]

assigns a variant to this variant

Parameters:
rInpar,:Variant object to set
Return values:
RET_NOERROR,:Value set.
RET_REQUEST_FAILED,:Could not set requested type.

Implemented in zeus::TZVariant.

virtual Int MQUALIFIER zeus::IZVariant::compareTo ( const IZVariant rInpar ) const [pure virtual]

Compares two variants. If the variant contains values, it compares based on > < or == operators. If the variant contains strings, it will compare lexicographically.

Parameters:
rInpar,:Variant to check
Return values:
0,:Variants are equal (or can not be compared).
-1,:this variant is smaller than the rInpar.
1,:this variant is bigger than the rInpar.

Implemented in zeus::TZVariant.

virtual bool MQUALIFIER zeus::IZVariant::equals ( const IZVariant rInpar ) const [pure virtual]

Checks if two variants are equal

Parameters:
rInpar,:Variant to check
Return values:
true,:Variants are equal.
false,:Variants are not equal.

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getByteArray ( IByteArray raRet ) const [pure virtual]

Returns the variant data as a byte array

Parameters:
raRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getCastedObject ( const InterfaceID rIfaceID,
IZUnknown *&  rpRet 
) const [pure virtual]

Returns the variant data as an object casted to a requested interface ID.

Parameters:
rIfaceID,:requested interface ID
rpRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getFloat32 ( Float32 rf32Ret ) const [pure virtual]

Returns the variant data as a float 32bit value

Parameters:
rf32Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getFloat64 ( Float64 rf64Ret ) const [pure virtual]

Returns the variant data as a float 64bit value

Parameters:
rf64Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getInt16 ( Int16 ri16Ret ) const [pure virtual]

Returns the variant data as an int16 value

Parameters:
ri16Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getInt32 ( Int32 ri32Ret ) const [pure virtual]

Returns the variant data as an int32 value

Parameters:
ri32Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getInt64 ( Int64 ri64Ret ) const [pure virtual]

Returns the variant data as an int64 value

Parameters:
ri64Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getInt8 ( Int8 ri8Ret ) const [pure virtual]

Returns the variant data as an int8 value

Parameters:
ri8Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getObject ( ISerializable *&  rpRet ) const [pure virtual]

Returns the variant data as an object

Parameters:
rpRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getObjectList ( ISerializableList rRet ) const [pure virtual]

Returns the variant data as an object list

Parameters:
rRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type
virtual Retval MQUALIFIER zeus::IZVariant::getRetval ( Retval &  rretRet ) const [pure virtual]

Returns the variant data as a retval value

Parameters:
rretRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getString ( IString rstrRet ) const [pure virtual]

Returns the variant data as a string value

Parameters:
rstrRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getTimeval ( Timeval &  rtmRet ) const [pure virtual]

Returns the variant data as a time value

Parameters:
rtmRet,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual EZVariantType MQUALIFIER zeus::IZVariant::getType (  ) const [pure virtual]

Returns the datatype of the variant

Returns:
datatype (see EZVariantType)

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getUint16 ( Uint16 rui16Ret ) const [pure virtual]

Returns the variant data as an unsigned int16 value

Parameters:
rui16Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getUint32 ( Uint32 rui32Ret ) const [pure virtual]

Returns the variant data as an unsigned int32 value

Parameters:
rui32Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getUint64 ( Uint64 rui64Ret ) const [pure virtual]

Returns the variant data as an unsigned int64 value

Parameters:
rui64Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual Retval MQUALIFIER zeus::IZVariant::getUint8 ( Uint8 rui8Ret ) const [pure virtual]

Returns the variant data as an unsigned int8 value

Parameters:
rui8Ret,:Return value
Return values:
RET_NOERROR,:Value returned
RET_REQUEST_FAILED,:Could not return the requested type

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::getVariantName ( IString rstrName ) const [pure virtual]

Returns the name of the variant type

Parameters:
rstrName,:return parameter of the name

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setByteArray ( const IByteArray raVal ) [pure virtual]

Sets an array to the variant

Parameters:
raVal,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setFloat32 ( Float32  f32Val ) [pure virtual]

Sets a float32 value to the variant

Parameters:
f32Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setFloat64 ( Float64  f64Val ) [pure virtual]

Sets a float64 value to the variant

Parameters:
f64Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setInt16 ( Int16  i16Val ) [pure virtual]

Sets an int16 value to the variant

Parameters:
i16Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setInt32 ( Int32  i32Val ) [pure virtual]

Sets an int32 value to the variant

Parameters:
i32Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setInt64 ( Int64  i64Val ) [pure virtual]

Sets an int64 value to the variant

Parameters:
i64Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setInt8 ( Int8  i8Val ) [pure virtual]

Sets an int8 value to the variant

Parameters:
i8Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setObject ( const ISerializable rVal ) [pure virtual]

Sets an object to the variant

Parameters:
rVal,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setObjectList ( const ISerializableList rVal ) [pure virtual]

Sets a object list to the variant

Parameters:
rVal,:value to be set
virtual void MQUALIFIER zeus::IZVariant::setRetval ( Retval  retVal ) [pure virtual]

Sets a return value to the variant

Parameters:
retVal,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setString ( const IString rstrVal ) [pure virtual]

Sets a string value to the variant

Parameters:
rstrVal,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setTimeval ( Timeval  tmVal ) [pure virtual]

Sets a time value to the variant

Parameters:
tmVal,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setUint16 ( Uint16  ui16Val ) [pure virtual]

Sets an unsigned int16 value to the variant

Parameters:
ui16Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setUint32 ( Uint32  ui32Val ) [pure virtual]

Sets an unsigned int32 value to the variant

Parameters:
ui32Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setUint64 ( Uint64  ui64Val ) [pure virtual]

Sets an unsigned int64 value to the variant

Parameters:
ui64Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setUint8 ( Uint8  ui8Val ) [pure virtual]

Sets an unsigned int8 value to the variant

Parameters:
ui8Val,:value to be set

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::setVariantName ( const IString rstrName ) [pure virtual]

Sets the name of the variant type

Parameters:
rstrName,:Name of the variant

Implemented in zeus::TZVariant.

virtual Float MQUALIFIER zeus::IZVariant::toFloat ( Float  fDefault = 0 ) const [pure virtual]

Converts the variant to a float value

Parameters:
fDefault,:Default value
Returns:
return as float value

Implemented in zeus::TZVariant.

virtual Int MQUALIFIER zeus::IZVariant::toInt ( Int  iDefault = 0 ) const [pure virtual]

Converts the variant to an int value

Parameters:
iDefault,:Default value
Returns:
return as integer

Implemented in zeus::TZVariant.

virtual void MQUALIFIER zeus::IZVariant::toString ( IString rstrValue ) const [pure virtual]

Converts the variant to a string value

Parameters:
rstrValue,:return value

Implemented in zeus::TZVariant.

virtual Uint MQUALIFIER zeus::IZVariant::toUint ( Uint  uiDefault = 0 ) const [pure virtual]

Converts the variant to an unsigned int value

Parameters:
uiDefault,:Default value
Returns:
return as unsigned integer

Implemented in zeus::TZVariant.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:38