diff -r fb024d5e35fa -r 64c62431ac08 multimediacommsengine/mmceshared/inc/mceserial.h --- a/multimediacommsengine/mmceshared/inc/mceserial.h Mon Aug 23 17:50:26 2010 +0300 +++ b/multimediacommsengine/mmceshared/inc/mceserial.h Mon Sep 06 17:32:13 2010 +0530 @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include "mcerefer.h" #include "mcecomsession.h" @@ -88,6 +90,15 @@ **/ static void EncodeL( const TDesC8& aString, RWriteStream& aWriteStream ); + + /** + * Encodes descriptor to stream + * @param aString string to be encoded to stream + * @param aWriteStream stream to which string is encoded + **/ + static void EncodeL( const TDesC16& aString, RWriteStream& aWriteStream ); + + /** * Encodes string buffer to stream. If buffer is NULL empty string is encoded * @param aString string buffer to be encoded to stream @@ -96,11 +107,27 @@ static void EncodeL( HBufC8* aString, RWriteStream& aWriteStream ); /** + * Encodes string buffer to stream. If buffer is NULL empty string is encoded + * @param aString string buffer to be encoded to stream + * @param aWriteStream stream to which string is encoded + **/ + static void EncodeL( HBufC16* aString, RWriteStream& aWriteStream ); + + /** * Decodes string buffer from stream * @param aBuffer placeholder for data to be read from stream * @param aReadStream stream from which data is decoded **/ static void DecodeL( HBufC8*& aBuffer, RReadStream& aReadStream ); + + + /** + * Decodes string buffer from stream + * @param aBuffer placeholder for data to be read from stream + * @param aReadStream stream from which data is decoded + **/ + static void DecodeL( HBufC16*& aBuffer, RReadStream& aReadStream ); + /** * Decodes descriptor array from stream @@ -131,8 +158,14 @@ static void EncodeL( TMceMediaId aId, RWriteStream& aWriteStream ); static void EncodeL( RArray& aArray, RWriteStream& aWriteStream ); + static void EncodeL(TInetAddr& aAddr, RWriteStream& aWriteStream); static void DecodeL( RArray& aArray, RReadStream& aReadStream ); + + static void EncodeL( RPointerArray& aArray, RWriteStream& aWriteStream ); + + static void DecodeL( RPointerArray& aArray, RReadStream& aReadStream ); + static void DecodeL(TInetAddr& aAddr, RReadStream& aReadStream); }; @@ -1051,6 +1084,46 @@ + +/** + * message stream serializer for Server and Client side stream + * + * @lib + */ +template +class TMceMessageStreamSerializer + { + +public: + + /** + * Constructor for internalization for server side + * @param aStream the stream + */ + inline TMceMessageStreamSerializer( T& aStream ); + + /** + * Internalizes + * @param aSerCtx context for serialization + */ + inline void InternalizeL( MMceComSerializationContext& aSerCtx ); + + /** + * Externalizes + * @param aSerCtx context for serialization + */ + inline void ExternalizeL( MMceComSerializationContext& aSerCtx ); + + +private: + + + /** + * Server / client side stream + */ + T& iMessageStream; + + }; #include "mceserial.inl"