diff -r 000000000000 -r 1bce908db942 multimediacommsengine/mmcesrv/mmceserver/inc/mcecsreceiverbase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mcecsreceiverbase.h Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,142 @@ +/* +* Copyright (c) 2005 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: +* +*/ + + + + +#ifndef CMCECSRECEIVER_BASE_H +#define CMCECSRECEIVER_BASE_H + +// INCLUDES +#include +#include "mcesrv.h" +#include "mceclientserver.h" + +// FORWARD DECLARATION +class CMceCsReceiveQueue; +class CMceCsServerITC; +class TMceCSReceiveItem; +class CMceCsServerITC; + +// CLASS DECLARATION + +/** +* Abstract base class for MCE receivers. +* +* @lib +* @since +*/ +class CMceCsReceiverBase: public CBase + { + public: // Constructors and destructor + + /** + * Destructor + */ + ~CMceCsReceiverBase(); + + public: // new + + /** + * Sends data to client + * @param aId ids to send + */ + void SendToClientL( TMceIds& aId, TInt aError = KErrNone ); + + /** + * Sends data to client + * @param aId ids to send + * @param aContext context to send + * @param aContent content to send + */ + void SendToClientL( TMceIds& aId, HBufC8* aContext ); + + /** + * Sends data to client + * @param aId ids to send + * @param aContext context to send + * @param aContent content to send + */ + void SendToClientL( TMceIds& aId, HBufC8* aContext, HBufC8* aContent ); + + /** + * Stores message from client for asyncronous event. + * @param aMessage message to be stored + */ + void ClientReadyToReceiveL (const RMessage2& aMessage); + + /** + * Removes stored message and completes that with KErrCancel. + */ + void CancelClientReceiveL (); + + /** + * Gets ITC ids of current message. + */ + TMceIds Ids() const; + + /** + * Retrieves stored event. + * @param aMessage message to receive data + */ + void ReceiveL (const RMessage2& aMessage); + + /** + * Gets reference to server ITC helper + * @return reference to server ITC helper + */ + CMceCsServerITC& ITC(); + + + private: + /** + * Adds item to the end of the queue + * @param aItem item to be added + * @return KErrNone if succesfull + */ + void WriteMessageToClientL (const RMessage2& aMessage); + + + protected: + + CMceCsReceiverBase (CMceCsServerITC& aItc); + + void ConstructL (); + + void HandleNewReceiveItemL (TMceCSReceiveItem& aItem); + + private: // Data + + CMceCsServerITC& iITC; + + CMceCsReceiveQueue* iReceiveQueue; + + RMessage2 iReceiveRMessage; + + TBool iClientReadyToReceive; + + TMceIds iIds; + + //definitions for unit testing + MCESRV_UT_DEFINITIONS + + + }; + +#endif + +// End of File