diff -r 000000000000 -r 094583676ce7 wvuing/wvuistorage/inc/MCAStoredGroups.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuistorage/inc/MCAStoredGroups.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,169 @@ +/* +* 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: Stored group data container interface +* +*/ + + + +#ifndef MCASTOREDGROUPS_H +#define MCASTOREDGROUPS_H + +#include +#include + +// FORWARD DECLARATIONS +class MCAStoredGroup; +class MCAExtendedStoredGroup; +class MCAStoredGroupsObserver; + +// CLASS DECLARATION + +/** + * Interface for stored groups container + * + * @lib CAStorage.dll + * @since 2.1 + */ +class MCAStoredGroups + { + public: // New functions + + /** + * Add an observer. + * @since 2.1 + * @param aObserver The observer + */ + virtual void AddObserverL( MCAStoredGroupsObserver* + aObserver ) = 0; + + /** + * Remove an observer. + * @since 2.1 + * @param aObserver The observer + */ + virtual void RemoveObserver( MCAStoredGroupsObserver* + aObserver ) = 0; + + /** + * Create a new group. + * Ownership is not transferred to the caller. + * @since 2.1 + * @return The created contact + */ + virtual MCAExtendedStoredGroup* CreateGroupL() = 0; + + /** + * Remove a given group + * @since 2.1 + * @param aContact The contact to remove + */ + virtual void DeleteGroupL( MCAStoredGroup* aGroup ) = 0; + + /** + * Find a group from the store + * @since 2.1 + * @param aId the ID of the group to find + * @return The group + */ + virtual MCAStoredGroup* FindGroup( const TDesC& aId ) = 0; + + /** + * Populate the given list with groups + * @since 2.1 + * @param aList The list to populate + * @param aReturnOnlyVisible Return only groups marked visible (ETrue) + */ + virtual void PopulateGroupsListL( + RPointerArray& aList, + TBool aReturnOnlyVisible = ETrue ) = 0; + + /** + * Signal change in this group. Using this method is responsibility of + * the client which changes data contained within MCAStoredGroup. The + * client may also choose to not signal the change event. + * @since 2.1 + * @param aGroupId The group id + */ + virtual void SignalGroupChangedL( const TDesC& aGroupId ) = 0; + + /** + * Signal an added group. Using this method is responsibility of + * the client which creates the group and sets its name. The + * client may also choose to not signal the addition event. + * @since 2.1 + * @param aGroupId The group id + */ + virtual void SignalGroupAddedL( const TDesC& aGroupId ) = 0; + + /** + * Save the changes made to the given group. This also takes care of + * informing the observers. An alternative is to use the + * SignalGroupChangedL, which only signals about changes, but does not + * save the group. + * @since 2.1 + * @param aGroupId The id of the group to save + */ + virtual void SaveGroupL( const TDesC& aGroupId ) = 0; + + /** + * Make all own groups hidden by setting their visibility-flag. + * @param aAllGroups If ETrue, hides other than user's own groups also. + * This can be used when the group-operations are not supported + * by the server and all storage groups must be hidden. + */ + virtual void HideAllGroups( TBool aAllGroups = EFalse ) = 0; + + /** + * Make all groups shown by unsetting their visibility-flag + */ + virtual void ShowAllGroups() = 0; + + /** + * Count of stored groups + * @since 2.6 + * @return Count of groups + */ + virtual TInt GroupCount( TBool aOnlyVisible ) const = 0; + + /** + * Check flash memory level. Leaves with KErrDiskFull + * if memory level below critical level. + * @since 3.1 + * @param aGroup Group that is going to be written to database. + */ + virtual void CheckFreespaceLevelL( MCAExtendedStoredGroup* aGroup ) = 0; + + + + /** + * Check whether group is deleted before joining or not + * @since 3.1 + * @return ETrue or EFalse. + */ + virtual TBool IsGroupDeleted() = 0; + + /** + * set whether group is deleted before joining or not + * @since 3.1 + * @param aValue boolean value. + */ + virtual void SetGroupDeleted( TBool aValue ) = 0 ; + + + }; + +#endif // MCASTOREDGROUPS_H + +// End of File