callcontinuity/vcchotrigger/src/vccwlansignallevelhandler.cpp
changeset 17 6d0b9f605b61
parent 2 7b872347d83b
--- a/callcontinuity/vcchotrigger/src/vccwlansignallevelhandler.cpp	Tue Feb 02 00:05:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +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 the WLAN signal level handler
-*
-*/
-
-
-
-#include <wlanmgmtclient.h>
-#include "vccwlansignallevelhandler.h"
-#include "rubydebug.h"
-#include "vccengpsproperty.h"
-#include <ccpdefs.h>
-
-// Min. signal strength.
-static const TInt32 KStrengthMin = 110;
-
-// ---------------------------------------------------------------------------
-// C++ destructor.
-// ---------------------------------------------------------------------------
-//
-CVccWlanSignalLevelHandler::~CVccWlanSignalLevelHandler()
-    {
-    // Cancel any request, if outstanding
-    Cancel();
-#ifndef __WINS__
-    delete iWlanMgmt;
-#endif
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian constructor.
-// ---------------------------------------------------------------------------
-//
-CVccWlanSignalLevelHandler* CVccWlanSignalLevelHandler::NewL(
-    MVccSignalLevelObserver& aObserver,
-    const TSignalLevelParams& aParams, CVccEngPsProperty& aPsProperty )
-    {
-    CVccWlanSignalLevelHandler* self =
-        CVccWlanSignalLevelHandler::NewLC( aObserver, aParams, aPsProperty );
-
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian constructor.
-// ---------------------------------------------------------------------------
-//
-CVccWlanSignalLevelHandler* CVccWlanSignalLevelHandler::NewLC(
-    MVccSignalLevelObserver& aObserver,
-    const TSignalLevelParams& aParams, CVccEngPsProperty& aPsProperty )
-    {
-    CVccWlanSignalLevelHandler * self =
-        new ( ELeave ) CVccWlanSignalLevelHandler( aObserver, aParams, aPsProperty );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CVccWlanSignalLevelHandler::CVccWlanSignalLevelHandler(
-    MVccSignalLevelObserver& aObserver,
-    const TSignalLevelParams& aParams, CVccEngPsProperty& aPsProperty )
-    : CVccSignalLevelHandler( aObserver, aParams ), iVccPsp( aPsProperty )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian second-phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::ConstructL()
-    {
-    RUBY_DEBUG_BLOCKL( "CVccWlanSignalLevelHandler::ConstructL" );
-
-    CVccSignalLevelHandler::ConstructL();
-#ifndef __WINS__
-    //WlanMgmtClient is not started when the phone is not f. ex. labeled
-    TRAP_IGNORE( iWlanMgmt = CWlanMgmtClient::NewL() );
-#endif
-    }
-
-// ---------------------------------------------------------------------------
-// Enable notifications.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::EnableNotificationsL()
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::EnableNotificationsL" );
-#ifndef __WINS__
-    if( iWlanMgmt )
-        {
-        TInt error = iWlanMgmt->UpdateRssNotificationBoundary(
-            iParams.iLowLevel,
-            iParams.iLowLevel - iParams.iHighLevel );
-
-        User::LeaveIfError( error );
-
-        iWlanMgmt->ActivateNotificationsL( *this );
-        }
-#endif
-    }
-
-// ---------------------------------------------------------------------------
-// Disable notifications.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::DisableNotifications()
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::DisableNotificationsL" );
-#ifndef __WINS__
-    if( iWlanMgmt )
-        {
-        iWlanMgmt->CancelNotifications();
-        }
-#endif
-    }
-
-// ---------------------------------------------------------------------------
-// Get signal strength.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::GetStrength()
-    {
-
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::GetStrength" );
-
-    iStrength = KStrengthMin;
-#ifndef __WINS__
-    if( iWlanMgmt )
-        {
-        iWlanMgmt->GetConnectionSignalQuality( iStrength );
-        }
-#endif
-    RUBY_DEBUG1( " -strength = %d", iStrength );
-
-    // Because the RMobilePhone used in GSM is asynchronous we need here
-    // to signal that the request is complete (in order to continue
-    // processing stuff in RunL)
-
-    TRequestStatus *sP = &iStatus;
-
-    User::RequestComplete( sP, KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// Cancel outstanding GetStrength.
-// We do not need to do anything since WLAN GetStrength is synchronous.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::CancelGetStrength()
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::CancelGetStrength" );
-    }
-
-// ---------------------------------------------------------------------------
-// Handles indication of changed RSS value.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::RssChanged( TWlanRssClass aRssClass, TUint aRss )
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::RssChanged" );
-    RUBY_DEBUG2( " -class = %d rss = %d", aRssClass, aRss);
-
-    // Do some basic check
-    // Zero (0) is not acceptable strength (too good?).
-
-    iStrength = aRss ? aRss : KStrengthMin;
-    StrengthChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// Handles BSSID has changed (i.e. AP handover) situation.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::BssidChanged( TWlanBssid& aNewBSSID )
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::BssidChanged" );
-    RUBY_DEBUG1( " -aNewBSSID = %S", &aNewBSSID );
-
-    iStrength = KStrengthMin;
-#ifndef __WINS__
-    if( iWlanMgmt )
-        {
-        iWlanMgmt->GetConnectionSignalQuality( iStrength );
-        }
-#endif
-
-    StrengthChanged();
-    }
-
-// ---------------------------------------------------------------------------
-//  Handles lost of one or more networks
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::OldNetworksLost()
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::OldNetworksLost" );
-
-    iStrength = KStrengthMin;
-#ifndef __WINS__
-    if( iWlanMgmt )
-        {
-        iWlanMgmt->GetConnectionSignalQuality( iStrength );
-        }
-#endif
-    StrengthChanged();
-    
-    TVccHoStatus hoStatus( EVccHoStateUnknown );
-    iVccPsp.GetCurrentHoStatus( hoStatus );
-    
-    RUBY_DEBUG1("Current HoStatus; %d", hoStatus);
-    
-    if( hoStatus == EVccCsToPsHoStarted || hoStatus == EVccCsToPsHoInprogress 
-                                         || hoStatus == EVccHoUnavailable )
-        {
-        iVccPsp.NotifySubscriberL( EVccCsToPsHoFailure, ECCPErrorNetworkOutOfOrder );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Notify observer that the signal level has been changed.
-// ---------------------------------------------------------------------------
-//
-void CVccWlanSignalLevelHandler::NotifyChanges(
-    TInt32 aSignalStrength,
-    MVccSignalLevelObserver::TSignalStrengthClass aClass )
-    {
-    RUBY_DEBUG_BLOCK( "CVccWlanSignalLevelHandler::NotifyChanges" );
-    RUBY_DEBUG1( " -New strength = -%d dBm", aSignalStrength );
-
-    iObserver.WlanSignalChanged( aSignalStrength, aClass );
-    }