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:  Abstract interface for handling the active profile events.
williamr@2: *
williamr@2: */
williamr@2: 
williamr@2: 
williamr@2: 
williamr@2: #ifndef MPROENGACTIVEPROFILEOBSERVER_H
williamr@2: #define MPROENGACTIVEPROFILEOBSERVER_H
williamr@2: 
williamr@2: //  INCLUDES
williamr@2: #include <e32def.h>
williamr@2: 
williamr@2: // FORWARD DECLARATIONS
williamr@2: class MProEngActiveProfileObserverExt;
williamr@2: 
williamr@2: // CLASS DECLARATION
williamr@2: 
williamr@2: /**
williamr@2: * Active profile modification observer interface.
williamr@2: * Implement this interface to get notifications of changes in the active profile
williamr@2: * data.
williamr@2: *
williamr@2: *  @lib ProfileEngine.lib
williamr@2: *  @since Series 60 3.1
williamr@2: */
williamr@2: class MProEngActiveProfileObserver
williamr@2:     {
williamr@2:     public: // New functions
williamr@2: 
williamr@2:         /**
williamr@2:         * Abstract method for handling active profile modification event.
williamr@2:         * This method is called when the current active profile has been
williamr@2:         * modified some way. Note, this doesn't get events if a profile is
williamr@2:         * activated, for that implement MProEngProfileActivationObserver.
williamr@2:         * 
williamr@2:         * @since Series 60 3.1
williamr@2:         */
williamr@2:         virtual void HandleActiveProfileModifiedL() = 0;
williamr@2: 
williamr@2:         /**
williamr@2:          * Error handler for handling the errors in the active profile
williamr@2:          * modification notification process. If HandleActiveProfileModifiedL()
williamr@2:          * leaves, this method is called with the leave code. This method has
williamr@2:          * default empty 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 HandleActiveProfileNotificationError(
williamr@2:                 TInt /* aError */ ) {};
williamr@2: 
williamr@2:     protected:
williamr@2: 
williamr@2:         /**
williamr@2:         * Destructor.
williamr@2:         */
williamr@2:         virtual ~MProEngActiveProfileObserver() {}
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 MProEngActiveProfileObserverExt* Extension() { return NULL; }
williamr@2: 
williamr@2:     };
williamr@2: 
williamr@2: #endif      // MPROENGACTIVEPROFILEOBSERVER_H
williamr@2: 
williamr@2: // End of File
williamr@2: