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: