imstutils/imconversationview/imcvuiengine/inc/mimcvenginemessagehandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 10:12:18 +0200
changeset 0 5e5d6b214f4f
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* Copyright (c) 2007-2008 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:  message handler interface
*
*/

#ifndef MIMCVENGINEMESSAGEHANDLER_H
#define MIMCVENGINEMESSAGEHANDLER_H

//  INCLUDES
#include <e32def.h>
#include "mimcvenginemessagehandlerobserver.h"
//	FORWARD CLASS DECLERATIONS
class MIMCVEngineMessage;
class MIMCVEngineMessageCreator;

// CLASS DECLARATION
			
/**
 *  Observer interface to handle message container changes.
 *
 *  @lib imcvengine.dll
 *  @since 5.0
 */
class MIMCVEngineMessageHandler
	{

	public: // Definitions
		
	    /**
        * @see message creator class
        */
	    virtual MIMCVEngineMessageCreator& MessageCreator() const = 0 ; 
       
	   /** SendMessageL 
		*  api to send the message to below layer
		* @param aMessage, message to be send
		*/
        virtual void SendMessageL(MIMCVEngineMessage& aMessage) = 0 ;
        
        /** append to cache 
		*  api to send the message to below layer
		* @param aBuddyId, aBuddyId to be saved
		* @param aTextMessage, message to be saved
		*/	
        virtual void AppendToCacheL(const TDesC& aBuddyId , const TDesC& aTextMessage ) = 0 ;
        
     	
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual void StartNewConversationL(const TDesC& aRecipientId )= 0;
		
		
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual TInt CloseConversationL(const TDesC& aBuddyId) = 0 ;
		
		
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual void CloseAllConversationL() = 0 ;
		
	
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual TInt DeactivateConversationL() = 0;

		virtual void UnSubscribePresenceL(const TDesC& aRecipientId) = 0;
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual void SubscribePresenceL(const TDesC& aWVID) = 0 ;
		
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual void SetObserver( MIMCVEngineMessageHandlerObserver* aObserver ) = 0;
		
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual void RemoveObserver() = 0;	
		
		/**
		 * @see MIMCVEngineMessageHandler
		 */
		virtual TIMCVOnlineStatus GetPresenceStatus() = 0 ;
		
		virtual TInt ServiceId() const = 0  ;
        	
	public: // For protection.

		/**
		 * Destructor for protection
		 */
		virtual ~MIMCVEngineMessageHandler(){}
	};

#endif      // MIMCVENGINEMESSAGEHANDLER_H

// End of File