class TXIMPObjectPacker |
Templated object packer.
Object type must support: NewLC(), ExternalizeL() and InternalizeL().
Public Member Functions | |
---|---|
HBufC8 * | PackArrayL(const RPointerArray< T > &) |
HBufC8 * | PackL(const T &) |
void | UnPackArrayL(RPointerArray< T > &, const TDesC8 &) |
void | UnPackL(T &, const TDesC8 &) |
Private Member Functions | |
---|---|
TXIMPObjectPacker() |
HBufC8 * | PackArrayL | ( | const RPointerArray< T > & | aObjs | ) | [static, inline] |
Templated method to pack object array.
Packs given object array data to flat buffer and returns buffer to caller.
const RPointerArray< T > & aObjs | Array of templated objects to pack. Concrete object type must support ExternalizeL() method. |
HBufC8 * | PackL | ( | const T & | aObj | ) | [static, inline] |
Templated method to pack object.
Packs given object data to flat buffer and returns buffer to caller.
const T & aObj | Templated object to pack. Object type must support ExternalizeL() method. |
void | UnPackArrayL | ( | RPointerArray< T > & | aObjs, |
const TDesC8 & | aPack | |||
) | [static, inline] |
Templated method to unpack object array.
Instantiates needed amount of new objects, extracts their data from given flat buffer and returns objects ownership to caller.
aPack Buffer containing object data.
RPointerArray< T > & aObjs | Array where to store extracted objects. Concrete object type must support NewLC() and InternalizeL() methods. Array contents are not reseted during unpack. |
const TDesC8 & aPack |
void | UnPackL | ( | T & | aObj, |
const TDesC8 & | aPack | |||
) | [static] |
Templated method to unpack object.
Extracts object data from given flat buffer and returns objects ownership to caller.
aPack Buffer containing object data.
T & aObj | Object which data to internalize from package. Concrete object type must support InternalizeL() method. |
const TDesC8 & aPack |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.