diff -r 000000000000 -r 094583676ce7 wvuing/wvuistorage/inc/MCAExtendedStoredGroup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuistorage/inc/MCAExtendedStoredGroup.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,184 @@ +/* +* Copyright (c) 2003 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: Stored group interface (setters) +* +*/ + + + +#ifndef MCAEXTENDEDSTOREDGROUP_H +#define MCAEXTENDEDSTOREDGROUP_H + +#include +#include + +#include "MCAStoredGroup.h" +#include "TStorageManagerGlobals.h" + +// FORWARD DECLARATIONS +class RReadStream; +class RWriteStream; + +// CLASS DECLARATION + +/** + * Interface for stored groups (setters). + * + * @lib CAStorage.dll + * @since 2.1 + */ +class MCAExtendedStoredGroup : public MCAStoredGroup + { + public: // Interface + + /** + * Set whether this group is joined by the user or not + * @since 2.1 + * @param aJoinStatus ETrue if the group is joined + */ + virtual void SetJoined( TBool aJoinStatus ) = 0; + + /** + * Add members to the group locally. Makes copies of the + * descriptors. + * @since 2.1 + * @param aMemberList The list of User Ids of members to add + */ + virtual void AddMembersLocallyL( const MDesCArray& aMemberList ) = 0; + + /** + * Remove members from the group locally + * @since 2.1 + * @param aMemberList The list of User Ids of members to remove + */ + virtual void RemoveMembersLocally( const MDesCArray& aMemberList ) = 0; + + /** + * Removes all members from the group locally + * @since 2.1 + */ + virtual void ResetMembersLocally() = 0; + + /** + * Set whether this group is the user's own group + * @since 2.1 + * @param aOwnGroupStatus ETrue if the group is the user's own + */ + virtual void SetOwnGroup( TBool aOwnGroupStatus ) = 0; + + /** + * Add a participant to the group. Makes copies of the desciptors. + * @since 2.1 + * @param aParticipantList The list of participants' User Ids whom to add + */ + virtual void AddParticipantL( const MDesCArray& aParticipantList ) = 0; + + /** + * Remove participant from the group + * @since 2.1 + * @param aParticipantList The list of participants' User Ids whom to + * remove + */ + virtual void RemoveParticipantL( const MDesCArray& aParticipantList ) = 0; + + /** + * Remove all participants from the group + * @since 2.1 + */ + virtual void ResetParticipantsL() = 0; + + /** + * Set the storage type + * @since 2.1 + * @param aStorageType The storage type + */ + virtual void SetStorageType( TStorageManagerGlobals::TCAStorageType aType ) = 0; + + /** + * Set the Group Id associated with this group. + * @since 2.1 + * @param The group id + */ + virtual void SetGroupIdL( const TDesC& aGroupId ) = 0; + + /** + * Set the Group Name associated with this group. + * @since 2.1 + * @param The group name + */ + virtual void SetGroupNameL( const TDesC& aGroupName ) = 0; + + /** + * Set the administrator status of the user in this group + * @since 2.1 + * @param aStatus ETrue if the user is administrator + */ + virtual void SetAdmin( const TBool aStatus ) = 0; + + /** + * Set the visibility status of the group + * @since 2.1 + * @param aVisible ETrue if the group can be seen in UI + */ + virtual void SetVisible( const TBool aVisible ) = 0; + + /** + * Set the home server of this group + * @since 2.1 + * @param aServer The server in which this group resides + */ + virtual void SetServerL( const TDesC& aServer ) = 0; + + /** + * Save the changes made to groups + * @since 2.1 + */ + virtual void SaveChangesL() = 0; + + /** + * Externalize the group instance data. + * Used by CCAStorage. + * @since 2.1 + * @param aStream The stream into which to externalize + */ + virtual void ExternalizeL( RWriteStream& aStream ) const = 0; + + /** + * Internalize the group instance data. + * Used by CCAStorage. + * @since 2.1 + * @param aStream The stream into which to internalize + */ + virtual void InternalizeL( RReadStream& aStream ) = 0; + + /** + * Return the theoretical maximum size needed by the contact if it is + * externalized. + * @since 2.1 + * @return The maximal size + */ + virtual TInt32 MaximalSize() const = 0; + + /** + * Get version number of the contact implementation. Needed for + * backward compatibility. + * @since 2.1 + * @return The version number, where 1 is the first version. + */ + virtual TInt32 Version() const = 0; + }; + +#endif // MCAEXTENDEDSTOREDGROUP_H + +// End of File