diff -r 000000000000 -r f0cf47e981f9 mmsharing/inc/musavaobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/inc/musavaobserver.h Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,166 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This observer is used by +* ECOM clients to get function call from the availability Plug-in +* +*/ + + + +#ifndef MMUSAVAOBSERVER +#define MMUSAVAOBSERVER + +#include + + +/** + * MusAvailability Observer base class + * + * Observer interface for ECOM clients. + * + * @lib musavailabilityplugin.lib + * @since S60 v3.2 + */ + +class MMusAvaObserver + { + +public: + + /** Status definition */ + enum TAvailabilityStatus + { + + /** Availability Error States */ + + /** Manual Activation*/ + EMusAvaManualActivation = -13, + /** Unsuccessfull response with response code 403 */ + EMusAvaFailureCode = -12, + + /** SIP options query not available. */ + EMusAvaOptionNotAvailable = -11, + + /** No SIP profile. */ + EMusAvaStatusNoSipProfile = -10, + + /** Not Registered / Registering failed. */ + EMusAvaStatusNotRegistered = -9, + + /** No Call. */ + EMusAvaStatusNoCall = -8, + + /** Call on hold. */ + EMusAvaStatusCallOnHold = -7, + + /** Call on hold. */ + EMusAvaStatusConferenceCall = -6, + + /** Connection error. */ + EMusAvaConnectionErr = -5, + + /** User not allow roaming. */ + EMusAvaRoamingError = -4, + + /** User not allow to start application. */ + EMusActivationError = -3, + + /** SIP Options returned a negative/erroneous result */ + EMusAvaNegativeSipOptions = -2, + + /** Network bearer type is insuitable. */ + EMusAvaNetworkType = -1, + + /** Availability States */ + + /** No availability query is made. */ + EMusAvaStatusNotExecuted = 0, + EMusAvaStatusInProgress = 1, + EMusAvaStatusAvailable = 2, + /** options query pending */ + EMusAvaStatusOptionsSent = 3, + /** options query is not sent */ + EMusAvaStatusOptionsNotSent = 4, + /** Edge/DTM is configured but unsupported */ + EMusAvaEdgeDtmStatusUnknown = 5, + + }; + + /** Status definition */ + enum TAvailabilityName + { + /** No defined.*/ + EMusAvaNameNotDefined, + + // Always on class availabilities -> + + /** Invite handler.*/ + EMusAvaInviteHandler, + + // Minimum class availabilities -> + + /** Default Option handler.*/ + EMusAvaDefaultOptionHandler, + + /** Settings Availability */ + EMusAvaNameSetting, + + /** Sipprofile must exist */ + EMusAvaNameSipprofileExist, + + /** NetworkStatus.*/ + EMusAvaNameNetworkStatus, + + /** ContactStatus.*/ + EMusAvaNameContactStatus, + + /** Bearer Status.*/ + EMusAvaBearerStatus, + + // Mandatory class availabilities -> + + /** Registration.*/ + EMusAvaNameRegistration, + + // Extension class availabilities -> + + /** Option handler.*/ + EMusAvaOptionHandler, + + // Full availability -> + + /** Full availability, all availabilities go */ + EMusAvaFullAvailability + }; + +public: + + /** + * Availability report + * + * @since S60 v3.2 + * @param aStatus New status for availability. + */ + virtual void AvailabilityChanged( + TAvailabilityName aName, + TAvailabilityStatus aStatus ) = 0; + + virtual void AvailabilityError( + TAvailabilityName aName, + TAvailabilityStatus aStatus ) = 0; + + }; + + +#endif //MMUSAVAOBSERVER