2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Profile modification observer interface.
20 #ifndef MPROENGPROFILEOBSERVER_H
21 #define MPROENGPROFILEOBSERVER_H
26 // FORWARD DECLARATIONS
27 class MProEngProfileObserverExt;
32 * Profile modification observer interface.
33 * Implement this interface to get notifications of changes in the data of a
36 * @lib ProfileEngine.lib
37 * @since Series 60 3.1
39 class MProEngProfileObserver
41 public: // New functions
44 * Abstract method for handling profile modification event.
45 * This method is called when one of client chosen profiles has been
48 * @param aProfileId The ID of the profile that was modified. If there
49 * has been many simultaneous changes in Profiles data, so that one
50 * profile cannot be identified, this is KErrNotFound. In this case,
51 * client gets this notification as many times as there are profiles
52 * he has requested notifications about. The savest way is to use
53 * own handlers for every profile of interest.
55 virtual void HandleProfileModifiedL( TInt aProfileId ) = 0;
58 * Error handler for handling the errors in the profile modification
59 * notification process. If HandleProfileModifiedL() leaves,
60 * this method is called with the leave code. This method has
61 * default empty implementation.
63 * @param aError the code of the error which occurred during
64 * notification process.
66 virtual void HandleProfileNotificationError(
67 TInt /* aError */ ) {};
74 virtual ~MProEngProfileObserver() {}
76 private: // Extension interface
79 * This member is internal and not intended for use.
81 virtual MProEngProfileObserverExt* Extension() { return NULL; }
85 #endif // MPROENGPROFILEOBSERVER_H