--- /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 <e32std.h>
+#include <badesca.h>
+
+// 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<MCAStoredGroup>& 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