williamr@2: /* williamr@2: * Copyright (c) 2003-2009 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: williamr@2: * Name : sipprofileregistryobserver.h williamr@2: * Part of : SIP Profile Client williamr@2: * Interface : SDK API, SIP Profile API williamr@2: * The observer class for monitoring SIP profiles. williamr@2: * Version : 1.0 williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MSIPPROFILEOREGISTRYBSERVER_H williamr@2: #define MSIPPROFILEOREGISTRYBSERVER_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: #include williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: williamr@2: // CLASS DECLARATION williamr@2: /** williamr@2: * @publishedAll williamr@2: * @released williamr@2: * williamr@2: * The observer class for monitoring SIP profiles. williamr@2: * Class must be implemented by the user in order to williamr@2: * observe changes in the SIP profiles. williamr@2: */ williamr@2: class MSIPProfileRegistryObserver williamr@2: { williamr@2: public: williamr@2: /** Profile Registry events */ williamr@2: enum TEvent williamr@2: { williamr@2: /** williamr@2: * Signals the creation of a SIP profile, indicating that a new williamr@2: * profile is added into permanent store. This event is sent to williamr@2: * all observers. williamr@2: */ williamr@2: EProfileCreated = 0, williamr@2: /** williamr@2: * Signals the updating of a SIP profile, indicating that the data of williamr@2: * an existing profile is updated into permanent store. This event is williamr@2: * sent to those observers who have the corresponding profile williamr@2: * instantiated. williamr@2: * Newly updated values of the profile are available for clients after williamr@2: * they receive this signal.If profile was registered while updated, williamr@2: * reregistration of the profile may occur. Updated values of the williamr@2: * profile are uploaded into network when SIP registration process williamr@2: * is completed.It is possible (but not recommended) that profile is williamr@2: * updated even when it is being enabled by the client. If client williamr@2: * receives this event for enabled profile, client should react as if williamr@2: * error was occurred in the exception that profile is disabled williamr@2: * or deleted first. williamr@2: */ williamr@2: EProfileUpdated, williamr@2: /** williamr@2: * Signals the changing of the registration status of a SIP profile williamr@2: * to registered. williamr@2: * This event is sent to those observers who have the corresponding williamr@2: * profile instantiated. williamr@2: */ williamr@2: EProfileRegistered, williamr@2: /** williamr@2: * Signals the changing of the registration status of a SIP profile williamr@2: * to deregistered. williamr@2: * This event is sent to those observers who have the corresponding williamr@2: * profile instantiated. williamr@2: */ williamr@2: EProfileDeregistered, williamr@2: /** williamr@2: * Signals the destruction of a SIP profile, indicating that the williamr@2: * profile has been removed from the permanent store and cannot williamr@2: * be used anymore.This event is sent to those observers who have williamr@2: * the corresponding profile instantiated. williamr@2: */ williamr@2: EProfileDestroyed, williamr@2: /** williamr@2: * Signals the force disabling of a SIP profile, indicating that williamr@2: * all the users attached to the profile are detached. This event williamr@2: * is sent to all the observers but ForceDisable API can be invoked williamr@2: * only by application with Network Control capability. williamr@2: */ williamr@2: EProfileForciblyDisabled williamr@2: }; williamr@2: williamr@2: /** williamr@2: * An event related to SIP Profile has accorred williamr@2: * @param aProfileId a profile Id williamr@2: * @param aEvent an occurred event williamr@2: **/ williamr@2: virtual void ProfileRegistryEventOccurred(TUint32 aProfileId, williamr@2: TEvent aEvent)=0; williamr@2: williamr@2: /** williamr@2: * An asynchronous error has occurred related to SIP profile williamr@2: * Event is send to those observers, who have the williamr@2: * corresponding profile instantiated. williamr@2: * @param aProfileId the id of failed profile williamr@2: * @param aError an occurred error williamr@2: */ williamr@2: virtual void ProfileRegistryErrorOccurred(TUint32 aProfileId, williamr@2: TInt aError)=0; williamr@2: }; williamr@2: williamr@2: #endif // MSIPPROFILEOREGISTRYBSERVER_H