williamr@2: /* williamr@2: * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * 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 williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Profile name array modification observer interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MPROENGPROFILENAMEARRAYOBSERVER_H williamr@2: #define MPROENGPROFILENAMEARRAYOBSERVER_H williamr@2: williamr@2: // INCLUDES williamr@2: #include <e32def.h> williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class MProEngProfileNameArrayObserverExt; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Profile name array modification observer interface. williamr@2: * Implement this interface to get notifications of changes in the data of a williamr@2: * selected profile. williamr@2: * williamr@2: * @lib ProfileEngine.lib williamr@2: * @since Series 60 3.1 williamr@2: */ williamr@2: class MProEngProfileNameArrayObserver williamr@2: { williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Abstract method for handling profile name array modification event. williamr@2: * This method is called when the contents of profile name array is williamr@2: * changed some way. These cases include: williamr@2: * - a profile has been created, williamr@2: * - a profile has been deleted, williamr@2: * - the name of a profile has been changed. williamr@2: * Note, that when there has been many simultaneous changes in Profiles williamr@2: * data so that it cannot be identified what has changed, then this williamr@2: * method may be called even if nothing hasn't actually changed in the williamr@2: * name array content. williamr@2: * @since S60 3.1 williamr@2: */ williamr@2: virtual void HandleProfileNameArrayModificationL() = 0; williamr@2: williamr@2: /** williamr@2: * Error handler for handling the errors in the profile name array williamr@2: * modification notification process. williamr@2: * If HandleProfileNameArrayModificationL() leaves, this method is williamr@2: * called with the leave code. This method has default empty williamr@2: * implementation. williamr@2: * @since S60 3.1 williamr@2: * @param aError the code of the error which occurred during williamr@2: * notification process. williamr@2: */ williamr@2: virtual void HandleProfileNameArrayNotificationError( williamr@2: TInt /* aError */ ) {}; williamr@2: williamr@2: protected: williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: */ williamr@2: virtual ~MProEngProfileNameArrayObserver() {} williamr@2: williamr@2: private: // Extension interface williamr@2: williamr@2: /** williamr@2: * This member is internal and not intended for use. williamr@2: */ williamr@2: virtual MProEngProfileNameArrayObserverExt* Extension() { return NULL; } williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // MPROENGPROFILENAMEARRAYOBSERVER_H williamr@2: williamr@2: // End of File williamr@2: