--- /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 <e32std.h>
+#include <badesca.h>
+
+#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