2 * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Virtual Phonebook interface for contact groups.
19 #ifndef MVPBKCONTACTGROUP_H
20 #define MVPBKCONTACTGROUP_H
25 #include <mvpbkstorecontact.h>
26 #include <mvpbkstorecontact2.h>
28 // FORWARD DECLARATIONS
29 class MVPbkContactLinkArray;
35 * An interface for Virtual Phonebook contact groups.
36 * This interface can be used to manipulate contact groups.
38 * @see MVPbkContactStore
40 class MVPbkContactGroup : public MVPbkStoreContact,
41 public MVPbkStoreContact2
47 virtual ~MVPbkContactGroup() { }
51 * Sets the group label.
52 * @param aLabel New label to set for the group.
54 virtual void SetGroupLabelL(const TDesC& aLabel) =0;
57 * Returns the group label.
58 * @return The group label.
60 virtual TPtrC GroupLabel() const =0;
63 * Adds new contact to this group.
65 * @param aContact Contact to add to this group.
67 virtual void AddContactL(const MVPbkContactLink& aContactLink) =0;
70 * Removes a contact from this group.
72 * @param aContact Contact to remove from this group.
74 virtual void RemoveContactL(const MVPbkContactLink& aContactLink) =0;
77 * Returns links to the items in this group.
78 * @return Links to the items in this group.
80 virtual MVPbkContactLinkArray* ItemsContainedLC() const =0;
83 * Returns an extension point for this interface or NULL.
84 * @param aExtensionUid Uid of extension.
85 * @return Extension point or NULL.
87 virtual TAny* ContactGroupExtension(
88 TUid /*aExtensionUid*/) { return NULL; }
91 #endif // MVPBKCONTACTGROUP_H