| 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.