wlanutilities/wlansniffer/engine/server/src/wsfict.cpp
branchRCL_3
changeset 54 63be7eb3fc78
parent 52 b852595f5cbe
child 55 f28ada11abbf
--- a/wlanutilities/wlansniffer/engine/server/src/wsfict.cpp	Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Implementation of CWsfIct
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <apgcli.h>
-#include <apgtask.h>
-#include <ictsclientinterface.h>
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmpluginwlandef.h>
-
-//  CLASS HEADER
-#include "wsfict.h"
-#include "wsflogger.h"
-
-//  INTERNAL INCLUDES
-
-using namespace CMManager;
-
-/**
-* UID of Wlan Login application (hsbrowser)
-* used when launching WLAN Login application
-*/
-static const TInt KBrowserUid = { 0x2000AFCC };
-
-/**
-* Length of a needed separators
-* used when launching WLAN Login application
-*/
-const TInt KSeparatorsLength = 4;
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct* CWsfIct::NewL()
-    {
-    CWsfIct* self = CWsfIct::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct* CWsfIct::NewLC()
-    {
-    CWsfIct* self = new( ELeave ) CWsfIct;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::~CWsfIct
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct::~CWsfIct()
-    {
-    LOG_ENTERFN( "CWsfIct::~CWsfIct" );
-    if ( iIct )
-        {
-        LOG_WRITE( "ict cancel" );
-        TRAP_IGNORE( iIct->CancelStartL() );
-        delete iIct;
-        iIct = NULL;
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::CWsfIct
-// ----------------------------------------------------------------------------
-//
-CWsfIct::CWsfIct(): iConnectOnly( EFalse )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::ConstructL()
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::ConnectivityObserver
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::ConnectivityObserver( TIctsTestResult aResult, 
-                                    const TDesC& aString )
-    {
-    LOG_ENTERFN( "CWsfIct::ConnectivityObserver" );
-    LOG_WRITEF( "ICTS result: %d", aResult );
-    
-    // check the result
-    switch ( aResult )
-        {
-        case EConnectionOk:
-            {
-            // test succeeded
-            TRAP_IGNORE( MoveToInternetSnapL( iIapId ) );
-            LOG_WRITE( "ICT: EConnectionOk" );
-            break;            
-            }
-            
-        case EConnectionNotOk:
-            {
-            // test was run but it failed
-            LOG_WRITE( "ICT: EConnectionNotOk" );
-            break;
-            }
-        case EHttpAuthenticationNeeded:
-            {
-            // test was run but HTTP authentication is required
-            LOG_WRITE( "ICT: EHttpAuthenticationNeeded" );
-            if ( iConnectOnly )
-                {
-                // Connect selected. WLAN Login needed.
-                TRAP_IGNORE( LaunchWlanLoginL(aString) );
-                }    
-            break;
-            }    
-        case ETimeout:
-            {
-            LOG_WRITE( "ICT: ETimeout" );
-            break;
-            }
-            
-        default:
-            {
-            _LIT( KIctPanic, "ICT result" );
-            User::Panic( KIctPanic, aResult );
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWsfIct::LaunchWlanLoginL()
-// -----------------------------------------------------------------------------
-//    
-void CWsfIct::LaunchWlanLoginL( const TDesC& aString )
-    {   
-    LOG_ENTERFN( "CWsfIct::LaunchWlanLoginL" );
-      
-    // Count IAP Id length
-    TInt iapIdLength ( 1 );
-    TInt iapId = iIapId;
-    while ( iapId >= 10 )
-        {
-        iapId = iapId/10;
-        iapIdLength++;
-        }
-  
-    // Count Network Id length
-    TInt netIdLength ( 1 );
-    TInt netId = iNetId;
-    while ( netId >= 10 )
-        {
-        netId = netId/10;
-        netIdLength++;
-        }
-    
-    TInt length = aString.Length() + 
-                  iapIdLength + 
-                  netIdLength + 
-                  KSeparatorsLength;
-    HBufC* param = HBufC::NewLC( length );
-    _LIT(tmpString, "%d, %d, %S");
-    param->Des().Format( tmpString, 
-                         iIapId, 
-                         iNetId, 
-                         &aString );
-    TUid uid( TUid::Uid( KBrowserUid ) );
-    TThreadId id;
-    
-    RApaLsSession appArcSession;
-    User::LeaveIfError( appArcSession.Connect() ); 
-    CleanupClosePushL( appArcSession );
-        
-    TInt err = appArcSession.StartDocument( *param, TUid::Uid( KBrowserUid ), id );
-    if ( err != KErrNone )
-        {
-        LOG_ENTERFN( "CWsfIct::LaunchWlanLoginL failed" );
-        }
-    CleanupStack::PopAndDestroy( &appArcSession );
-    CleanupStack::PopAndDestroy( param );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::MoveToInternetSnapL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::MoveToInternetSnapL( const TUint32 aIapId )
-    {
-	LOG_ENTERFN( "CWsfIct::MoveToInternetSnapL" );
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    
-    // Check that is IAP uncategorized
-    RArray<TUint32> cmIds;
-    CleanupClosePushL( cmIds );
-    cmManager.ConnectionMethodL( cmIds, ETrue, ETrue, EFalse );
-    TBool foundFromUncategorized = EFalse;
-    
-    for ( TInt k = 0; k < cmIds.Count(); k++ )
-        {
-        RCmConnectionMethodExt cm;
-        TRAPD( error, cm = cmManager.ConnectionMethodL( cmIds[k] ) );
-        if ( KErrNone == error )
-            {
-            CleanupClosePushL( cm );
-
-            TUint iapId = cm.GetIntAttributeL( CMManager::ECmIapId );
-            if ( iapId == aIapId )
-                {
-                LOG_WRITE( "IAP is uncategorized" );
-                foundFromUncategorized = ETrue;
-                }
-            CleanupStack::PopAndDestroy( &cm );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &cmIds );
-    
-    if ( !foundFromUncategorized )
-        {
-        LOG_WRITE( "Not moving IAP since it is in SNAP" );
-        CleanupStack::PopAndDestroy( &cmManager );
-        return;
-        }
-    
-    // Read all destination(SNAP) settings into an array
-    RArray<TUint32> destinations;
-    CleanupClosePushL( destinations );
-    
-    cmManager.AllDestinationsL( destinations );
-    RCmDestinationExt destination;
-    // Loop through each destination
-    for( TInt i = 0; i < destinations.Count(); i++ )
-        {
-        destination = cmManager.DestinationL( destinations[i] );
-        CleanupClosePushL( destination ); 
-        // Internet destination will always exist in the system.
-        // Internet destination will have ESnapPurposeInternet 
-        // set in its metadata.
-        if ( destination.MetadataL( CMManager::ESnapMetadataPurpose ) == 
-                                    CMManager::ESnapPurposeInternet )
-            {
-            RCmConnectionMethodExt iap = cmManager.ConnectionMethodL( aIapId );
-            CleanupClosePushL( iap );     
-            LOG_WRITE( "Move Iap to internet destination" );
-            destination.AddConnectionMethodL( iap );
-            destination.UpdateL();
-            CleanupStack::PopAndDestroy( &iap ); 
-            }
-        CleanupStack::PopAndDestroy( &destination ); 
-        }
-    CleanupStack::PopAndDestroy( &destinations ); 
-    CleanupStack::PopAndDestroy( &cmManager ); 
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::TestConnectedAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::TestConnectedAccessPointL( TUint aIapId )
-    {
-    LOG_ENTERFN( "CWsfIct::TestConnectedAccessPointL" );
-    if ( !aIapId || aIapId != iIapId )
-        {
-        // the wlaninfo must already contain a valid IAP id
-        LOG_WRITE( "invalid IAP id" );
-        return;
-        }
-
-    if ( iIct )
-        {
-        iIct->CancelStartL();
-        delete iIct;
-        iIct = NULL;
-        }
-
-    LOG_WRITE( "starting ICT test..." );
-
-    iIct = CIctsClientInterface::NewL( iIapId, iNetId, *this );
-    LOG_WRITE( "ICT created" );
-    iIct->StartL();
-    LOG_WRITE( "ICT: started" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::InitializeIctL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::InitializeIctL( TBool aTestAccessPoint,
-                              TUint aIapId,
-                              TBool aConnectOnly )
-    {
-    LOG_ENTERFN( "CWsfIct::InitializeIct" );
-
-    LOG_WRITEF( "IAP id = %d aTestAccessPoint = %d aConnectOnly = %d", 
-                aIapId, aTestAccessPoint, aConnectOnly );
-    
-    if ( !aIapId || !aTestAccessPoint )
-        {
-        // the wlaninfo must already contain a valid IAP id 
-        // and check that IAP needs testing
-        LOG_WRITE( "ICT not initialized" );
-        iConnectOnly = EFalse;
-        iIapId = 0;
-        iNetId = 0;
-        return;
-        }
-    
-    // set variables
-    iConnectOnly = aConnectOnly;
-    iIapId = aIapId;
-
-    if ( iIct )
-        {
-        iIct->CancelStartL();
-        delete iIct;
-        iIct = NULL;
-        }
-
-    // get network Id
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL(cmManager);
-
-    RCmConnectionMethodExt cm = cmManager.ConnectionMethodL(iIapId);
-    CleanupClosePushL(cm);
-
-    iNetId = cm.GetIntAttributeL(CMManager::ECmNetworkId);
-    
-    LOG_WRITEF( "Network Id=%d ", iNetId );
-
-    CleanupStack::PopAndDestroy(&cm);
-    CleanupStack::PopAndDestroy(&cmManager);
-    }
-    
-// End of file
-