--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiprocess/Inc/mcagrouppc.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,210 @@
+/*
+* 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 group operations
+*
+*/
+
+
+#ifndef MCAGROUPPC_H
+#define MCAGROUPPC_H
+
+
+// INCLUDES
+
+#include "TEnumsPC.h"
+#include "badesca.h"
+
+// FORWARD DECLARATIONS
+class MCAGroupObserverPC;
+class MCAGroupEventObserverPC;
+class MCAServerContactsArrayPC;
+
+
+
+// CLASS DECLARATION
+/**
+ * Group interface for UI and Engine.
+ *
+ * @lib wvuiprocessng.lib
+ * @since 3.2
+ */
+class MCAGroupPC
+
+ {
+ public:
+
+ /**
+ * Set the current group
+ * @param aGroupId groupid of the active group in the local list.
+ */
+ virtual void SetActiveGroupChatL( const TDesC& aGroupId ) = 0;
+
+ /**
+ * To register the UI component as an observer
+ * to listen to the chat related events
+ * @param aGroupObserverPC - Ptr to the group observer to be added
+ * for chat/message error related events
+ */
+ virtual void RegisterGroupObserver( MCAGroupObserverPC*
+ aGroupObserverPC ) = 0;
+ /**
+ * To unregister the UI side observer
+ */
+ virtual void UnRegisterGroupObserver() = 0;
+
+ /**
+ * Set an observer for events of individual group (join, leave, etc.)
+ * @param aGroupId The group id
+ * @param aGroupEventObserverPC The observer to be added
+ */
+ virtual void SetGroupEventObserverL( MCAGroupEventObserverPC* aGroupEventObserverPC,
+ const TDesC& aGroupId ) = 0;
+
+ /**
+ * Part of container identifier which contains this message
+ * @return Identifier to identify container which contains this message
+ */
+ virtual const TDesC& ActiveGroupId() = 0;
+
+ /**
+ * Part of identification of container
+ * @return Screen name of container owner.
+ */
+ virtual const TDesC& ScreenName() const = 0;
+
+ /**
+ * InitialiseResourcesL - intialise iGroupId
+ * and some other members like read/write interface
+ * @param aGroupId - the current groupid
+ */
+ virtual void InitialiseResourcesL( const TDesC& aGroupId ) = 0;
+
+
+ /**
+ * Tests whether the logging is on or not.
+ * @return ETrue if on EFalse if not.
+ */
+ virtual TBool IsLoggingOn() const = 0;
+
+ /**
+ * Release all resources that was initialised
+ */
+ virtual void ReleaseResources() = 0;
+
+ /**
+ * Name of the group
+ * @return name of the group
+ */
+ virtual TPtrC GroupName() const = 0;
+
+
+ /**
+ * Ends the logging in a specified group.
+ */
+ virtual void EndLoggingL() = 0;
+
+
+ /**
+ * Is private messages allowed
+ * @return EImpsPropYes if allowed
+ */
+ virtual TEnumsPC::TImpsPropertyBoolPC IsPrivateAllowed() = 0;
+
+
+ /**
+ * Is group open or closed
+ * @return EImpsPropYes if open
+ */
+ virtual TEnumsPC::TImpsPropertyBoolPC IsOpen() = 0;
+
+
+
+ /**
+ * Count of stored groups
+ * @return Count of groups
+ */
+ virtual TInt GroupCount( TBool aOnlyVisible ) const = 0;
+
+
+ /**
+ * Count of stored contacts
+ * @param aSkipOfflineContacts ETrue skip offline contacts.
+ * EFalse Do not skip.
+ * @return Count of contacts
+ */
+ virtual TInt ContactCount(
+ TBool aSkipOfflineContacts = EFalse ) const = 0;
+
+
+ /**
+ * Gets the properties of group
+ * @param aIsGroupProps return ETrue if
+ * Common group properties are defined
+ */
+ virtual TInt GetPropertiesL( TBool& aIsGroupProps ) = 0;
+
+
+ /**
+ * SendMessageL
+ * @param aMessageBuffer: message to be sent
+ * @param aRecipients: List of all recipients to whom
+ * message has to be sent
+ */
+ virtual void SendMessageL( const TDesC& aMessageBuffer,
+ CDesCArrayFlat& aRecipients ) = 0;
+
+ /**
+ * To populate the two arrays of group names and goup ids
+ * @return - Fills and returns groupname along with the ID
+ * Ownership is transferred to the caller
+ */
+ virtual MCAServerContactsArrayPC* GetGroupPairArrayLC() = 0;
+
+ /**
+ * To Check whether a GroupChat Id is the current active one
+ * in groupChatView
+ * @param aGroupId - Group Id
+ * @return ETrue - if "aGroupId" is current active one in ChatView
+ * else EFalse
+ */
+ virtual TBool IsActiveGroupChat( const TDesC& aGroupId ) = 0;
+
+ /**
+ * Saves the group conversation
+ * @param aLogFilename - log file name in which group conversation would be saved
+ */
+ virtual void SaveChatL( const TDesC& aLogFilename ) = 0;
+
+
+ /**
+ * Gets the message count from ReadInterface
+ */
+ virtual TInt MessageCount() = 0;
+
+ public:
+
+ /**
+ * Destructor.
+ */
+ virtual ~MCAGroupPC()
+ {
+
+ };
+
+
+ };
+
+#endif // MCAGROUPPC_H
+
+// End of File