diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Inc/MCAConversationPC.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiprocess/Inc/MCAConversationPC.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,227 @@ +/* +* Copyright (c) 2006 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: Interface for Conversation Process Component +* +*/ + + + +#ifndef MCACONVERSATIONPC_H +#define MCACONVERSATIONPC_H + +// INCLUDES +#include +#include + +#include "MCAMessageRWInterfacePC.h" +#include "TEnumsPC.h" + +class MCAConversationObserverPC; +class MCAMessage; +class MCAMessagesReadInterface; +class MCAMessagesWriteInterface; +class MCAMessageUtils; +class MCAServerContactsArrayPC; + +// CLASS DECLARATION + +/** + * Interface for conversations + * + * @lib wvuiprocessng.dll + * @since 3.2 + */ +class MCAConversationPC + { + public: // Interface + + + /** + * AddConversationContactsObserverL: To add the UI component as an observer + * to listen to the contact related events + * @param MCAConversationChatObserverPC - Ptr to the object to be added + */ + virtual void AddObserver( MCAConversationObserverPC* aObserver ) = 0; + + + /** + * RemoveConversationObserver : To remove the added observer + */ + virtual void RemoveObserver() = 0; + + + + /** + * Delete identified chat container + * @param aServerAddress Part of identifier to identify container. + * @param aUserId Part of identifier to identify container. + * @param aTargetId Part of identifier to identify container. + */ + virtual void DeleteChatL( const TDesC& aServerAddress, + const TDesC& aUserId, + const TDesC& aTargetId ) = 0; + + + /** + * InitialiseResourcesL + * @param aContactId - the current conversation wvid + */ + virtual void InitialiseResourcesL( const TDesC& aContactId ) = 0; + + /** + * ReleaseResourcesL + * + */ + virtual void ReleaseResources() = 0; + + + /** + * GetIdentification + * @param aContactId - wvid + * @return Identification of contact. + * Alias if nickname is not set and alias is enabled. + * Wvid without domain and prefix if nickname does not + exists and alias is not enabled or not exists. + */ + virtual const TPtrC GetIdentification( const TDesC& aContactId ) = 0; + + + /** + * Part of container identifier which contains this message + * @return Identifier to identify container which contains this message + */ + virtual const TDesC& GetReadInterfaceId() = 0; + + + /** + * GetLogFileName + * @param ref to TPtr - This will be set within this function and + * returned to the caller + */ + virtual void GetLogFileName( TPtr& aLogFileNamePtr ) = 0; + + /** + * Starts logging in a specified group. + * @param aLogFileName is the file name which will be shown in the + * first line of the notepad memo (after end logging). + */ + virtual void RecordChatL( const TDesC& aLogFilename ) = 0; + + + /** + * SendMessageL + * @param aMessageBuffer. + */ + virtual void SendMessageL( const TDesC& aMessageBuffer ) = 0; + + /** + * PopulateGroupDetailsLC + * @return - Fills and returns groupname along with the ID + * Ownership is transferred to the caller + */ + virtual MCAServerContactsArrayPC* PopulateGroupDetailsLC() = 0; + + + /** + * Get name of chat. + * @return Name of chat. + */ + virtual TPtrC GetReadInterfaceName() = 0; + + + /** + * Set the current conversation + * @param aIndex of the chat in the local list. + */ + virtual void SetActiveConversationL( const TDesC& aWvId ) = 0; + + /** + * Find any contact which id is aContactId + * @param aContactId Contactid to recognize contact. + * @return ETrue if found else EFalse + */ + virtual TBool FindAnyContact( const TDesC& aContactId ) = 0; + + /** + * Count of stored groups + * @return Count of groups + */ + virtual TInt GroupCount( TBool aOnlyVisible ) = 0; + + /** + * Count of stored contacts + * @return Count of contacts + */ + virtual TInt ContactCount() = 0; + + /** + * CheckReply + * @param aWvid - contact id + * @param aContactInlist - also checks whether the contact is in contact list + */ + virtual void CheckReply( TPtrC& aWvid, TBool& aContactInlist ) = 0; + + + + /** + * IsActiveConversation + * @param aContactId - contact id + * @return ETrue - if the passed contactID is the current active conversation + * EFalse - Otherwise + */ + virtual TBool IsActiveConversation( const TDesC& aContactId ) = 0; + + /** + * SetMessageReadInterfaceL: Calls the MessageReadInterface() of engine component + * to set the read interface + * @param aWvId - wv user id + * @return void + */ + virtual void SetMessageReadInterfaceL( const TDesC& aWvId ) = 0; + + /** + * SetMessageWriteInterfaceL: Calls the MessageWriteInterface() of engine component + * to set the write interface + * @return void + */ + virtual void SetMessageWriteInterfaceL() = 0; + + + /** + * Closes all open conversations + */ + virtual void CloseConversations() = 0; + + /** + * Leaves every joined group. + */ + virtual void LeaveJoinedGroupsL() = 0; + + /** + * Gets the message count from ReadInterface + */ + virtual TInt MessageCount() = 0; + + /** + * Destructor + */ + virtual ~MCAConversationPC() {} + + + }; + + +#endif // MCACONVERSATIONPC_H + +// End of File \ No newline at end of file