diff -r 000000000000 -r 094583676ce7 wvuing/wvuieng/EngInc/MCAGroupOperations.h --- /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 + +// 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