wvuing/wvuieng/EngInc/MCAGroupOperations.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuieng/EngInc/MCAGroupOperations.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2003-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:  Network operations for one group
+*
+*/
+
+
+
+#ifndef MCAGROUPOPERATIONS_H
+#define MCAGROUPOPERATIONS_H
+
+//  INCLUDES
+
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CImpsCommonGroupProps;
+class CImpsPrivateGroupProps;
+class MCAStoredGroup;
+
+// CLASS DECLARATION
+
+/**
+ *  MCAGroupOperations interface class. Provides network related
+ *  operations for one group.
+ *
+ *  @lib CAEngine.lib
+ *  @since 2.1
+ */
+class MCAGroupOperations
+    {
+
+    public: // New functions
+
+        /**
+         * Returns the operation id of current operation
+         * @return Operation id
+         */
+        virtual	TInt OperationId() = 0;
+
+        /**
+         * Joins the group
+         * @param aScreenName screen name
+         * @param aUsers If we want the group's user list, set this to ETrue
+         * @param aIsFavourite Is this group saved or not
+         * @return CSP error code
+         */
+        virtual TInt JoinL( const TDesC& aScreenName, TBool aUsers,
+                            TBool aIsFavourite ) = 0;
+
+        /**
+         * Creates new group to server
+         * @param aScreenName screen name
+         * @param aJoinGroup Should the group be joined after creation
+         * @return CSP error code
+         */
+        virtual TInt CreateGroupL( const TDesC& aScreenName,
+                                   TBool aJoinGroup ) = 0;
+
+        /**
+         * Leaves the group
+         * @return CSP error code
+         */
+        virtual TInt LeaveL() = 0;
+
+        /**
+         * Deletes the group from server
+         * @return CSP error code
+         */
+        virtual TInt DeleteFromNetworkL() = 0;
+
+        /**
+         * Updates the group properties to server
+         * @param aCommonProps Common group properties
+         * @param aPrivateProps Private group properties
+         * @return CSP error code
+         */
+        virtual TInt UpdatePropertiesL( CImpsCommonGroupProps* aCommonProps,
+                                        CImpsPrivateGroupProps* aPrivateProps
+                                      ) = 0;
+
+        /**
+         * Adds members to group
+         * @param aUserList List of users
+         * @param aScreenNameList List of screen names
+         * @return CSP error code
+         */
+        virtual TInt AddMembersL( const CDesCArray& aUserList,
+                                  const CDesCArray& aScreenNameList ) = 0;
+
+        /**
+         * Removes members from group
+         * @param aUserList List of users
+         * @return CSP error code
+         */
+        virtual TInt RemoveMembersL( const CDesCArray& aUserList ) = 0;
+
+        /**
+         * Modifies members status in group
+         * @param aAdminList Administrators
+         * @param aModerList Moderators
+         * @param aOrdinaryList Ordinary group members
+         * @return CSP error code
+         */
+        virtual TInt ModifyMembersL( const CDesCArray* aAdminList,
+                                     const CDesCArray* aModerList,
+                                     const CDesCArray* aOrdinaryList ) = 0;
+
+        /**
+         * Gets the properties of group
+         * @param aCommonProps Common group properties
+         * @param aPrivateProps Private group properties
+         * @return CSP error code
+         */
+        virtual TInt GetPropertiesL( CImpsCommonGroupProps*& aCommonProps,
+                                     CImpsPrivateGroupProps*& aPrivateProps
+                                   ) = 0;
+
+        /**
+         * Gets the members of group
+         * @param aUserList List of users
+         * @param aScreenNames List of screen names
+         * @param aModers List of moderators
+         * @param aAdmins List of administrators
+         * @return CSP error code
+         */
+        virtual TInt GetMembersL( CDesCArray& aUserList,
+                                  CDesCArray& aScreenNames,
+                                  CDesCArray& aModers,
+                                  CDesCArray& aAdmins ) = 0;
+
+        /**
+         * Gets the banned users of group
+         * @param aRejectList List of rejected users
+         * @return CSP error code
+         */
+        virtual TInt GetRejectListL( CDesCArray& aRejectList ) = 0;
+
+        /**
+         * Sets the banned users of group
+         * @param aRejectList List of rejected users
+         * @param aEnabledList List of users to be removed from rejected list
+         * @return CSP error code
+         */
+        virtual TInt SetRejectListL( const CDesCArray& aRejectedList,
+                                     const CDesCArray& aEnabledList ) = 0;
+
+    protected:  // Constructors and destructor
+
+        /**
+         * Destructor.
+         */
+        virtual ~MCAGroupOperations() {};
+
+    };
+
+#endif      // MCAGroupOperations_H
+
+// End of File