diff -r 000000000000 -r e6b17d312c8b imservices/imfeatureplugin/srcimdatamodel/imeventcodec.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imservices/imfeatureplugin/srcimdatamodel/imeventcodec.h Thu Dec 17 08:54:49 2009 +0200 @@ -0,0 +1,104 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Codec to pack and unpack event objects. +* +*/ + +#ifndef IMEVENTCODEC_H +#define IMEVENTCODEC_H + +#include + +#include "eventcodec.h" + +class CXIMPApiEventBase; +class RReadStream; + + +/** + * Codec to pack and unpack event objects. + * + * @lib ximpdatamodel.dll + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CImEventCodec ): public MEventCodec + { + +public: + static CImEventCodec* NewL(); + + ~CImEventCodec(); + + + /** + * packs and allocates memory for the + * event object and event type + * + * @param aEventObj + * event object derived from CXIMPApiEventBase + * + * @param aTypeOfEvent + * holds type of the event after execution from aEventObj + * + * @return + * heap allocated which contains both + * event and event type + */ + HBufC8* PackL( CXIMPApiEventBase& aEventObj, + TInt32& aTypeOfEvent ); + + /** + * packs + * event object and event type into the buffer + * + * @param aEventObj + * event object derived from CXIMPApiEventBase + * + * @param aTypeOfEvent + * holds type of the event after execution from aEventObj + * + * @param + * buffer to be packed with + * event and event type + */ + + void PackL( CXIMPApiEventBase& aEventObj, + TInt32& aTypeOfEvent, + CBufFlat* aBuffer ); + + /** + * + * @param aEventData + * data desc which has the event type and id + * + * @param aTypeOfEvent + * holds type of the event after execution from aEventData + * + * @return new eventbase object constructed from aEventData + * + */ + CXIMPApiEventBase* UnPackL( const TDesC8& aEventData, + TInt32& aTypeOfEvent ); +protected: + void ConstructL(); + +private: + + CImEventCodec(); + + + }; + + +#endif // IMEVENTCODEC_H