mmsharing/inc/musavaobserver.h
changeset 22 496ad160a278
parent 0 f0cf47e981f9
child 31 33a5d2bbf6fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/inc/musavaobserver.h	Fri Jun 11 13:36:18 2010 +0300
@@ -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 <e32def.h>
+
+
+/**
+ *  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