fotaapplication/fotaserver/src/FotaNetworkRegStatus.cpp
branchRCL_3
changeset 62 19bba8228ff0
parent 61 b183ec05bd8c
child 65 5cc2995847ea
--- a/fotaapplication/fotaserver/src/FotaNetworkRegStatus.cpp	Tue Aug 31 16:04:06 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
- * Copyright (c) 2005 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:   GPRS and Wlan status getter for sending Generic Alerts
- *
- */
-
-// INCLUDE FILES
-
-//System Includes
-#include <startupdomainpskeys.h>	//GlobalRFsStates
-#include <rconnmon.h>	//RConnectionMonitor
-#include <featmgr.h>	//Feature Manager
-#include <features.hrh>	//Feature Manager
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-#include <cmpluginwlandef.h>
-#include <cmpluginpacketdatadef.h>
-
-//User Includes
-#include "FotaServer.h"
-#include "FotaNetworkRegStatus.h"
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::NewL
-// Symbian 2-Phase construction, NewL used for creating object of this class
-// This method can leave
-// -----------------------------------------------------------------------------
-
-CFotaNetworkRegStatus* CFotaNetworkRegStatus::NewL(CFotaServer* aObserver)
-    {
-    CFotaNetworkRegStatus* self = CFotaNetworkRegStatus::NewLC(aObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::NewLC
-// Symbian 2-Phase construction, NewLC used for creating object of this class
-// This method can leave
-// -----------------------------------------------------------------------------
-
-CFotaNetworkRegStatus* CFotaNetworkRegStatus::NewLC(CFotaServer* aObserver)
-    {
-    CFotaNetworkRegStatus* self = new (ELeave) CFotaNetworkRegStatus(
-            aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::ConstructL
-// Symbian 2-Phase construction, ConstructL used for constructing the members of this class
-// This method can leave
-// -----------------------------------------------------------------------------
-
-void CFotaNetworkRegStatus::ConstructL()
-    {
-    iTimer.CreateLocal();
-    iMonitor.ConnectL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::CFotaNetworkRegStatus
-// C++ Constructor
-// This method shouldn't leave
-// -----------------------------------------------------------------------------
-
-CFotaNetworkRegStatus::CFotaNetworkRegStatus(CFotaServer* aObserver) :
-    CActive(CActive::EPriorityStandard), iObserver(aObserver), iRetriesLeft(
-            KRetries), iGlobalRFState(EFalse)
-    {
-    CActiveScheduler::Add(this); // Add AO to current active scheduler
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::~CFotaNetworkRegStatus
-// C++ Desctructor
-// This method shouldn't leave
-// -----------------------------------------------------------------------------
-
-CFotaNetworkRegStatus::~CFotaNetworkRegStatus()
-    {
-    Cancel();
-
-    iTimer.Close();
-    iMonitor.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::DoCancel()
-// Cancels currently active notifier, if such exists
-// -----------------------------------------------------------------------------
-//
-void CFotaNetworkRegStatus::DoCancel()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::DoCancel >>"));
-
-    if (IsActive())
-        {
-        iTimer.Cancel();
-        //		Cancel();
-        }
-
-    FLOG(_L("CFotaNetworkRegStatus::DoCancel <<"));
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::StartMonitoringL
-// Monitors for connection status
-// This method don't leave
-// -----------------------------------------------------------------------------
-
-void CFotaNetworkRegStatus::StartMonitoringL()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::StartMonitoringL >>"));
-
-    //Check offline state
-    FLOG(_L("Check GlobalRF state..."));
-    if (!iGlobalRFState)
-        {
-        iGlobalRFState = CheckGlobalRFState();
-        }
-
-    if (iGlobalRFState)
-        {
-        //Check registration state only if iGlobalRFState is true
-        FLOG(_L("Check registration state..."));
-        if (CheckNetworkRegStateL())
-            {
-            //If both are successful report complete
-            FLOG(
-                    _L("Network Registration is successful, sending Status as success to FotaServer"));
-            iObserver->ReportNetworkStatus(ETrue);
-            return;
-            }
-        }
-    //If one of them is not successful, start timer and retry KRetries times...
-
-    if (--iRetriesLeft >= 0)
-        {
-        FLOG(_L("Retry count... [%d]"), KRetries - iRetriesLeft);
-        iTimer.After(iStatus, KTimeInterval);
-        if (!IsActive())
-            SetActive();
-        }
-    else
-        {
-        FLOG(
-                _L("Maximum retries (%d) reached, sending Status as failure to FotaServer"),
-                KRetries);
-        iObserver->ReportNetworkStatus(IsWlanSupportedL());
-        }
-
-    FLOG(_L("CFotaNetworkRegStatus::StartMonitoringL <<"));
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::RunL()
-// Called when event accomplished
-// -----------------------------------------------------------------------------
-//
-void CFotaNetworkRegStatus::RunL()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::RunL >>"));
-
-    if (iStatus == KErrNone)
-        {
-        StartMonitoringL();
-        }
-    else
-        {
-        iObserver->ReportNetworkStatus(EFalse);
-        }
-
-    FLOG(_L("CFotaNetworkRegStatus::RunL <<"));
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::RunError
-// Called when RunL leaves
-// This method can't leave
-// -----------------------------------------------------------------------------
-
-TInt CFotaNetworkRegStatus::RunError(TInt aError)
-    {
-    FLOG(_L("CFotaNetworkRegStatus::RunL >>"));
-    iObserver->ReportNetworkStatus(EFalse);
-    FLOG(_L("CFotaNetworkRegStatus::RunL <<"));
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::CheckGlobalRFState
-// Checks for GlobalRFState, set by Starter
-// This method can't leave
-// -----------------------------------------------------------------------------
-
-TBool CFotaNetworkRegStatus::CheckGlobalRFState()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::CheckGlobalRFState >>"));
-
-    RProperty prop;
-    TInt val = KErrNone;
-    TInt err = KErrNone;
-    TInt status = EFalse;
-
-    err = prop.Get(KPSUidStartup, KPSGlobalSystemState, val);
-    if (err == KErrNone && val == ESwStateNormalRfOn)
-        {
-        //Phone is not offline. Check for Network Registration status
-        FLOG(_L("Phone is online. Check for Network Registration status"));
-        status = ETrue;
-        }
-    else
-        {
-        //Phone is offline. No Network activities allowed.
-        FLOG(_L("Phone is offline. No Network activities allowed."));
-        status = EFalse;
-        }
-    FLOG(_L("CFotaNetworkRegStatus::CheckGlobalRFState, status = %d <<"),
-            status);
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::CheckNetworkRegStatusL
-// Checks for Network registration status
-// This method can leave
-// -----------------------------------------------------------------------------
-
-TBool CFotaNetworkRegStatus::CheckNetworkRegStateL()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::CheckNetworkRegStateL >>"));
-
-    TBool status = EFalse;
-
-    TInt registrationStatus(KErrNone);
-    TRequestStatus status1;
-    iMonitor.GetIntAttribute(EBearerIdGSM, // See bearer ids from TConnMonBearerId
-            0, KNetworkRegistration, registrationStatus, status1);
-    User::WaitForRequest(status1);
-
-    if (status1.Int() == KErrNone)
-        {
-        switch (registrationStatus)
-            {
-            case ENetworkRegistrationHomeNetwork:
-            case ENetworkRegistrationRoaming:
-                {
-                status = ETrue;
-                break;
-                }
-            default:
-                {
-                /* Includes - 	ENetworkRegistrationNotAvailable:
-                 ENetworkRegistrationUnknown:
-                 ENetworkRegistrationNoService:
-                 ENetworkRegistrationEmergencyOnly:
-                 ENetworkRegistrationSearching:
-                 ENetworkRegistrationBusy:
-                 ENetworkRegistrationDenied:*/
-                status = EFalse;
-                break;
-                }
-            }
-        }
-
-    FLOG(_L("CFotaNetworkRegStatus::CheckNetworkRegStateL, status = %d <<"),
-            status);
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::IsWlanSupportedL
-// Checks whether Wlan supported on device and active
-// This method can leave
-// -----------------------------------------------------------------------------
-
-TBool CFotaNetworkRegStatus::IsWlanSupportedL()
-    {
-    FLOG(_L("CFotaNetworkRegStatus::IsWlanSupportedL >>"));
-
-    TBool status = EFalse;
-
-    FeatureManager::InitializeLibL();
-    if (FeatureManager::FeatureSupported(KFeatureIdProtocolWlan)) // check for feature enabled
-        {
-        status = ETrue;
-        }
-
-    FeatureManager::UnInitializeLib();
-
-#if defined(__WINS__)
-    status = ETrue;
-#endif
-
-    FLOG(_L("CFotaNetworkRegStatus::IsWlanSupportedL, status = %d <<"),
-            status);
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// CFotaNetworkRegStatus::IsConnectionPossibleL
-// Checks whether the network connection is possible in the given IAP Id
-// This method can leave
-// -----------------------------------------------------------------------------
-/*TBool CFotaNetworkRegStatus::IsConnectionPossibleL(TInt aIapid)
-    {
-    FLOG(_L("CFotaNetworkRegStatus::IsConnectionPossibleL >>"));
-    TBool status(EFalse);
-
-    TUint32 bearer = FindBearerL(aIapid);
-    if (bearer == KUidPacketDataBearerType)
-        {
-        FLOG(_L("Bearer is Packet data"));
-        if (CheckGlobalRFState() && CheckNetworkRegStateL())
-            {
-            FLOG(_L("Network is up and connection is possible "));
-            status = ETrue;
-            }
-        else
-            {
-            FLOG(_L("Network is not up and connection is not possible "));
-            status = EFalse;
-            }
-        }
-    else if (bearer == KUidWlanBearerType)//for wlan or other bearers
-        {
-        FLOG(_L("Bearer is wlan and proceeding for download "));
-        //proceed & this else loop to be removed
-        status = ETrue;
-        }
-    else
-        {
-        FLOG(_L("Bearer is not packet data or WLAN"));
-        }
-
-    FLOG(_L("CFotaNetworkRegStatus::IsConnectionPossibleL, status = %d <<"),
-            status);
-    return status;
-    }*/
-
-// ----------------------------------------------------------------------------------------
-// CFotaDownload::FindBearerId
-// Finds the Bearer Id for a given IAP Id
-// ----------------------------------------------------------------------------------------
-/*TUint32 CFotaNetworkRegStatus::FindBearerL(TInt aIapId)
-    {
-    FLOG(_L("CFotaNetworkRegStatus::FindBearerL: %d"), aIapId);
-    TUint32 bearer = 0;
-    TInt err(KErrNone);
-    // Query CM Id
-    TInt cmId(aIapId);
-    RCmManagerExt CmManagerExt;
-    TRAP( err, CmManagerExt.OpenL() );
-    FLOG(_L("CmManagerExt.OpenL() with error as  %d"), err);
-    if (err == KErrNone)
-        {
-        RCmConnectionMethodExt cm;
-        TRAP( err, cm = CmManagerExt.ConnectionMethodL( cmId ) );
-        FLOG(_L("CmManagerExt.ConnectionMethodL with error as  %d"), err);
-        if (err == KErrNone)
-            {
-            CleanupClosePushL(cm);
-            FLOG(_L("cm pushed to cleanupstack "));
-            bearer = cm.GetIntAttributeL(CMManager::ECmBearerType);
-            FLOG(_L("bearer is %d "), bearer);
-            CleanupStack::PopAndDestroy(); // cm	  
-            FLOG(_L("cm poped & destroyed from cleanupstack "));
-            }
-
-        CmManagerExt.Close();
-        FLOG(_L("CmManagerExt closed "));
-        }
-    FLOG(_L("CFotaNetworkRegStatus::FindBearerL end with bearer: %d"), bearer);
-    return bearer;
-    }*/
-
-// End of File