2 * Copyright (c) 2004-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: An interface for objects that belongs to object hierarchy
19 #ifndef MVPBKOBJECTHIERARCHY_H
20 #define MVPBKOBJECTHIERARCHY_H
26 // FORWARD DECLARATIONS
27 class MVPbkContactStore;
33 * An interface for objects that belongs to object hierarchy.
35 * The interface can be used to get the store from an object that
36 * belongs to the hierarchy.
38 class MVPbkObjectHierarchy
41 virtual ~MVPbkObjectHierarchy() { }
43 public: // New functions
45 * Returns the parent object of this object. For the root of the
46 * hierarchy returns self.
47 * @return The parent object.
49 virtual MVPbkObjectHierarchy& ParentObject() const = 0;
52 * Returns the contact store where this object originates from.
53 * @return The Contact store.
55 virtual MVPbkContactStore& ContactStore() const
57 return ParentObject().ContactStore();
61 * Returns an extension point for this interface or NULL.
63 * @param aExtensionUid no extensions defined currently.
64 * @return An extension point for this interface or NULL.
66 virtual TAny* ObjectHierarchyExtension(TUid /*aExtensionUid*/)
71 #endif // MVPBKOBJECTHIERARCHY_H