mmsharing/mmshavailability/src/musavaconnectionmonitor.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshavailability/src/musavaconnectionmonitor.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* 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:   Provide interface for the client requestin availability class.
-*
-*/
-
-
-
-#include "musavaconnectionmonitor.h"
-#include "musavasettingsimp.h"
-#include "musavanetworkavailability.h"
-#include "musavaobserver.h"
-#include "musavaavailability.h"
-#include "musavasharedobject.h"
-#include "musavaconnectionmonitorobserver.h"
-#include "musavasip.h"
-#include "muslogger.h"
-
-#include <e32base.h>
-#include <sipprofile.h>
-#include <mmtsy_names.h>
-
-// -------------------------------------------------------------------------
-//  Two-phased constructor.
-// -------------------------------------------------------------------------
-//
-CMusAvaConnectionMonitor* CMusAvaConnectionMonitor::NewL( 
-                                        CMusAvaSharedObject& aSharedObject )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::NewL()" )
-    CMusAvaConnectionMonitor* self = 
-        new( ELeave ) CMusAvaConnectionMonitor( aSharedObject );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::NewL()" )
-    return self;
-    }
-
-
-// -------------------------------------------------------------------------
-//  Destructor.
-// -------------------------------------------------------------------------
-//
-CMusAvaConnectionMonitor::~CMusAvaConnectionMonitor()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::\
-        ~CMusAvaConnectionMonitor()" )
-    iConnectionMonitorObserver.Reset();
-    iConnectionMonitorObserver.Close();
-    // Close the monitor when event notifications are no longer required
-    iConnectionMonitor.Close();
-
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::\
-        ~CMusAvaConnectionMonitor()" )
-    }
-
-// -------------------------------------------------------------------------
-//  Constructor function.
-// -------------------------------------------------------------------------
-//
-void CMusAvaConnectionMonitor::EventL(const CConnMonEventBase& aConnMonEvent)
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::EventL()" )
-    TUint connectionId = aConnMonEvent.ConnectionId();
-    TInt eventType = aConnMonEvent.EventType();
-    MUS_LOG1( "Connection ID = %d", connectionId )
-    MUS_LOG1( "Event type = %d", eventType )
-
-    for( TInt i=0; i<iConnectionMonitorObserver.Count(); i++ )
-        {
-        iConnectionMonitorObserver[i]->EventL( aConnMonEvent );
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::EventL()" )
-    }
-
-
-// -------------------------------------------------------------------------
-//  Constructor function.
-// -------------------------------------------------------------------------
-//
-CMusAvaConnectionMonitor::CMusAvaConnectionMonitor( 
-                                        CMusAvaSharedObject& aSharedObject ):
-iSharedObj( &aSharedObject )
-    {
-    }
-
-// -------------------------------------------------------------------------
-//  Second phase constructor.
-// -------------------------------------------------------------------------
-//
-void CMusAvaConnectionMonitor::ConstructL()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::ConstructL()" )
-    User::LeaveIfError( iConnectionMonitor.ConnectL() );
-
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::ConstructL()" )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-void CMusAvaConnectionMonitor::AddAdapterL( 
-                                    MMusAvaConnectionMonitorObserver& aAdapter )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::\
-             AddAdapterL( MMusAvaConnectionMonitorObserver& aAdapter )" )
-    iConnectionMonitorObserver.AppendL( &aAdapter );
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaSip::\
-             AddAdapterL( MMusAvaConnectionMonitorObserver& aAdapter )" )
-    }
-
-// -------------------------------------------------------------------------
-// Created connection ID for multimedia sharing is returned
-// -------------------------------------------------------------------------
-//
-TUint CMusAvaConnectionMonitor::CreatedConnectionID()
-    {
-    return iConnectionID;
-    }
-
-// -------------------------------------------------------------------------
-// Connection ID is stored
-// -------------------------------------------------------------------------
-//
-void CMusAvaConnectionMonitor::SetConnectionID( TUint aConnectionID )
-    {
-    iConnectionID = aConnectionID;
-    }
-// -------------------------------------------------------------------------
-// Active connection ID for multimedia sharing is returned
-// -------------------------------------------------------------------------
-//
-TUint CMusAvaConnectionMonitor::ConnectionIDL()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::ConnectionIDL()" )
-    TUint iap =  0; //Internet acces point
-    TUint sipIap =  0;  //SIP acces point
-    TUint count = 0;    //Number of connections
-    TUint id = 0;   //Connection ID
-    TUint activeIapID = 0;   //Connection ID for active SIP IAP
-    TUint subId = 0;    //SubconnectionID
-    TUint subCount; //Subconnectioncount
-    TRequestStatus status;
-
-    //Fetch number of connections to count
-    count = ConnectionCount();
-    if ( count == 0 )
-        {
-        MUS_LOG( "mus: [MUSAVA] Non connections" )
-        }
-    else
-        {
-        MUS_LOG1( "mus: [MUSAVA] Fetch number of connections: %d", count )
-
-        //Fetch internet access point to iap
-        sipIap =  MultimediaSharingAccessPointID();
-        if ( sipIap == 0 )
-            {
-            MUS_LOG( "mus: [MUSAVA] Non Access Point ID's for app" )
-            }
-        else
-            {
-            MUS_LOG1( "mus: [MUSAVA] Internet access point for sip: %d", 
-                                                                sipIap )
-    
-            TBool goOn = ETrue;
-            for ( TUint i = 1; i <= count && goOn; i++ )
-                {
-                //Fetch connectionId to id
-                User::LeaveIfError(iConnectionMonitor.GetConnectionInfo( 
-                                                            i, id, subCount ));
-                MUS_LOG1( "mus: [MUSAVA] Connection ID = %d", id )
-    
-                //Fetch internet access point to iap
-                iConnectionMonitor.GetUintAttribute( id, subId, KIAPId, 
-                                                iap, status );
-                #ifndef UNIT_TESTING
-                User::WaitForRequest( status );
-                #endif
-                MUS_LOG1( "mus: [MUSAVA] Internet access point %d ", iap )
-    
-                // when correct Iap found ...
-                if( iap == sipIap )
-                    {
-                    MUS_LOG( "mus: [MUSAVA]  Connection ID found" )
-                    activeIapID = id;
-                    goOn = EFalse;
-                    }
-                }
-            
-            }
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::ConnectionIDL()" )
-    return activeIapID;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-TBool CMusAvaConnectionMonitor::KillPdpContext()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::KillPdpContext" )
-
-    TUint connId = 0;
-    TUint subConnectionCount = 0;
-    TRequestStatus requestStatus;
-    TUint count = ConnectionCount();
-    TInt ret = 0;
-    TBool retval = EFalse;
-    
-    for ( TUint i = 1; i <= count && !retval; i++ )
-        {
-        TInt bearerType = 0;
-        iConnectionMonitor.GetIntAttribute( connId,
-                                     subConnectionCount,
-                                     KBearer,
-                                     bearerType,
-                                     requestStatus );
-        User::WaitForRequest( requestStatus );
-        if ( bearerType == EBearerCSD      ||
-             bearerType == EBearerHSCSD    ||
-             bearerType == EBearerGPRS     ||
-             bearerType == EBearerEdgeGPRS ||
-             bearerType == EBearerWCDMA    ||
-             bearerType == EBearerWcdmaCSD )
-            {
-            MUS_LOG1( "mus: [MUSAVA] now killing connection whose connId \
-                == <%d>", connId )
-            ret = iConnectionMonitor.GetConnectionInfo( i, connId, 
-                                                    subConnectionCount );
-            if ( ret == KErrNone )
-                {
-                ret = iConnectionMonitor.SetBoolAttribute( connId, 0, 
-                                                    KConnectionStop, ETrue );
-                if ( ret == KErrNone )
-                    {
-                    retval = ETrue;
-                    }
-                }
-            }
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::KillPdpContext" )
-    return retval;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-void CMusAvaConnectionMonitor::RemoveAdapter( 
-                                    MMusAvaConnectionMonitorObserver& aAdapter )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::\
-             RemoveAdapter( MMusAvaConnectionMonitorObserver& aAdapter )" )
-    TInt index = iConnectionMonitorObserver.Find( &aAdapter );
-
-    if( index != KErrNotFound )
-        {
-        iConnectionMonitorObserver.Remove( index );
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaSip::\
-             RemoveAdapter( MMusAvaConnectionMonitorObserver& aAdapter )" )
-    }
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-void CMusAvaConnectionMonitor::NotifyEventL()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::NotifyEventL()" )
-    iConnectionMonitor.NotifyEventL( *this );
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::NotifyEventL()" )
-    }
-
-// -------------------------------------------------------------------------
-//  Active connection count for multimedia sharing is returned
-// -------------------------------------------------------------------------
-//
-TUint CMusAvaConnectionMonitor::ConnectionCount()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::ConnectionCount()" )
-    TUint          count = (TUint) KErrNotFound;
-    TRequestStatus status;
-
-    iConnectionMonitor.GetConnectionCount( count, status );
-    #ifndef UNIT_TESTING
-    User::WaitForRequest( status );
-    #endif
-    if ( status.Int() != KErrNone )
-        {
-        MUS_LOG( "mus: [MUSAVA]  Phone doesn't have any active connections" )
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::ConnectionCount()" )
-    return count;
-    }
-
-// -------------------------------------------------------------------------
-// Active Internet Access Point ID for multimedia sharing is returned
-// -------------------------------------------------------------------------
-//
-TUint CMusAvaConnectionMonitor::MultimediaSharingAccessPointID()
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaConnectionMonitor::\
-        MultimediaSharingAccessPointID()" )
-    TUint retval = KErrNone;
-    TBool profileCreated = EFalse;
-    TRAPD( err, profileCreated = iSharedObj->MusAvaSip().CreateProfileL() );
-    if ( err || !profileCreated )
-        {
-        retval = (TUint)KErrNotFound;
-        }
-	else
-		{
-        CSIPProfile* profile = iSharedObj->MusAvaSip().Profile();
-        // Get IAP ID
-        MUS_LOG( "mus: [MUSAVA]  Get IAP ID" )
-    
-        TInt ret = profile->GetParameter( KSIPAccessPointId, iProfileId );
-        if( ret )
-            {
-            MUS_LOG( "mus: [MUSAVA]  IAP ID is not found" )
-            MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::\
-            MultimediaSharingAccessPointID()" )
-            retval = (TUint)ret;
-            }
-		else
-			{
-	        MUS_LOG1( "mus: [MUSAVA]     IAP ID = %d", iProfileId )
-			retval = iProfileId;
-			}        
-        }
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaConnectionMonitor::\
-        MultimediaSharingAccessPointID()" )
-    return retval;
-    }