--- a/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilscmmwrapper_s60.cpp Fri May 14 10:30:51 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/*
- * Copyright (c) 2009 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 is a source file for CmmWrapperPrivate class.
- */
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <cmmanagerdef.h>
-#include <cmconnectionmethodext.h>
-#include <cmdestinationext.h>
-#include <cmpluginwlandef.h>
-#include "wlanqtutilscommon.h"
-#include "wlanqtutilsiap.h"
-#include "wlanqtutilswlanap.h"
-#include "wlanqtutilswlaniap.h"
-#include "wlanqtutilscmmwrapper.h"
-#include "wlanqtutilscmmwrapper_s60_p.h"
-
-#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
-#include <opensystemtrace.h>
-#else
-#include "OstTraceDefinitions.h"
-#endif
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "wlanqtutilscmmwrapper_s60Traces.h"
-#endif
-
-
-// =========== PRIVATE CLASS MEMBER FUNCTIONS ===============
-//
-// ---------------------------------------------------------
-// CmmWrapperPrivate::CmmWrapperPrivate()
-// Constructor
-// ---------------------------------------------------------
-//
-CmmWrapperPrivate::CmmWrapperPrivate(CmmWrapper *wrapper) :
- q_ptr(wrapper)
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATE_ENTRY, this );
-
- TRAPD(err, iCmManagerExt.OpenL());
- if (err != KErrNone) {
- // todo
- }
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATE_EXIT, this );
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::CmmWrapperPrivate()
-// Destructor
-// ---------------------------------------------------------
-//
-CmmWrapperPrivate::~CmmWrapperPrivate()
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATEDESTR_ENTRY, this );
-
- iCmManagerExt.Close();
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATEDESTR_EXIT, this );
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::fetchIaps()
-// ---------------------------------------------------------
-//
-int CmmWrapperPrivate::fetchIaps(QList<WlanQtUtilsIap*>& iapList)
- {
- TRAPD(err, fetchIapsL(iapList));
- return err;
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::fetchIapsL()
-// ---------------------------------------------------------
-//
-void CmmWrapperPrivate::fetchIapsL(QList<WlanQtUtilsIap*>& iapList)
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_FETCHIAPSL_ENTRY, this );
-
- // reset the list, just in case
- iapList.clear();
-
- //Array granularity 10
- RArray<TUint32> destinationIdArray = RArray<TUint32> (10);
-
- destinationIdArray.Reset();
- iCmManagerExt.AllDestinationsL(destinationIdArray);
-
- // looping all the SNAPs through
- QList<WlanQtUtilsIap*> snapsIapList;
- for (TInt i = 0; i < destinationIdArray.Count(); i++)
- {
- snapsIapList.clear();
- RCmDestinationExt dest;
- dest = iCmManagerExt.DestinationL(destinationIdArray[i]);
- TUint32 id = dest.Id();
-
- if (getIapListFromSnap(id, snapsIapList) == KErrNone)
- {
- iapList.append(snapsIapList);
- }
- }
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_FETCHIAPSL_EXIT, this );
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::createWlanIap()
-// Creates a new WLAN IAP
-// ---------------------------------------------------------
-//
-WlanQtUtilsWlanIap *CmmWrapperPrivate::createWlanIap(const WlanQtUtilsWlanAp *aWlanAp)
- {
- WlanQtUtilsWlanIap *iap = NULL;
-
- TRAPD(err, iap = createWlanIapL(aWlanAp));
-
- if (err != KErrNone)
- {
- // Todo: trace
- }
- return iap;
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::createWlanIapL()
-// Creates a new WLAN IAP
-// ---------------------------------------------------------
-//
-WlanQtUtilsWlanIap *CmmWrapperPrivate::createWlanIapL(const WlanQtUtilsWlanAp *aWlanAp)
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CREATEWLANIAPL_ENTRY, this );
-
- // Create the new IAP
- RCmConnectionMethodExt plugin = iCmManagerExt.CreateConnectionMethodL(
- KUidWlanBearerType);
- CleanupClosePushL(plugin);
-
- // Convert QString to Symbian buffer
- TBufC<KMaxSsidLen> buffer(aWlanAp->ssid().utf16());
-
- WlanQtUtilsWlanSecMode secMode = aWlanAp->securityMode();
- int cmManagersSecMode = wlanQtUtils2CmmSecModeMap(secMode);
-
- plugin.SetStringAttributeL(CMManager::ECmName, buffer);
- plugin.SetStringAttributeL(CMManager::EWlanSSID, buffer);
- plugin.SetIntAttributeL(CMManager::EWlanSecurityMode, cmManagersSecMode);
- // Todo: other parameters such as security keys
-#if 0
- // TODO the security settings API plugin needs to be initialized here
- // with the iap id.
- // Check if the key value has been given
- QString key = aWlanAp->securityKey();
- if ( key.length() > 0 )
- {
- // Set the security key values here
- if ( secMode == CMManager::EWlanSecModeWpa ||
- secMode == CMManager::EWlanSecModeWpa2 )
- {
- // Store the WPA key to the database using the security settings API
- TBufC<KMaxWEPKeyLen> bufKey(key.utf16());
- plugin.SetStringAttributeL( CMManager::EWlanWpaPreSharedKey, bufKey );
-
- }
- else if ( secMode == CMManager::EWlanSecModeWep )
- {
- // Store the WPA key to the database using the security settings API
- TBufC<KMaxWPAKeyLen> bufKey(key.utf16());
- plugin.SetStringAttributeL( CMManager::EWlanWepKey1, bufKey );
- }
- }
-#endif
-
- plugin.UpdateL();
-
- TInt iapId = plugin.GetIntAttributeL(CMManager::ECmIapId);
-
- CleanupStack::PopAndDestroy(&plugin); // Close() called on "plugin"
-
- // Read details of the new IAP and create the WLAN IAP class
- RCmConnectionMethodExt connectionMethod = iCmManagerExt.ConnectionMethodL( iapId );
- WlanQtUtilsIap *newIap = getIapInfoL(connectionMethod);
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CREATEWLANIAPL_EXIT, this );
- return qobject_cast<WlanQtUtilsWlanIap *>(newIap);
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::moveIapToInternetSnap()
-// ---------------------------------------------------------
-//
-void CmmWrapperPrivate::moveIapToInternetSnap( TInt32 aIapId )
- {
- TRAPD( err, moveIapToInternetSnapL( aIapId ) );
- if (err != KErrNone)
- {
- // todo: add trace
- }
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::moveIapToInternetSnapL()
-// ---------------------------------------------------------
-//
-void CmmWrapperPrivate::moveIapToInternetSnapL( TInt32 aIapId )
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_MOVEIAPTOINTERNETSNAPL_ENTRY, this );
-
- // Read all destination(SNAP) settings into an array
- RArray<TUint32> destinations;
- CleanupClosePushL(destinations);
- iCmManagerExt.AllDestinationsL(destinations);
- RCmDestinationExt destination;
- // Loop through each destination
- for(TInt i = 0; i < destinations.Count(); i++)
- {
- destination = iCmManagerExt.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 = iCmManagerExt.ConnectionMethodL( aIapId );
- CleanupClosePushL( iap );
- destination.AddConnectionMethodL( iap );
- destination.UpdateL();
- CleanupStack::PopAndDestroy(); // iap
- }
- CleanupStack::PopAndDestroy(); // destination
- }
- CleanupStack::PopAndDestroy(); // destinations
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_MOVEIAPTOINTERNETSNAPL_EXIT, this );
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::getIapListFromSnap()
-// ---------------------------------------------------------
-//
-int CmmWrapperPrivate::getIapListFromSnap(TUint32 aDestId,
- QList<WlanQtUtilsIap*>& iapList)
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_ENTRY, this );
-
- RCmDestinationExt dest;
- TRAPD(err, dest = iCmManagerExt.DestinationL(aDestId));
- if (err != KErrNone)
- {
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_EXIT, this );
- return err;
- }
-
- // Copy IAPs from the SNAP into iapList.
- int destIapCount = dest.ConnectionMethodCount();
- for (TInt i = 0; i < destIapCount; i++)
- {
- WlanQtUtilsIap* iap = NULL;
- TRAP(err, iap = getIapInfoL(dest.ConnectionMethodL(i)));
-
- if (err == KErrNone)
- {
- iapList.append(iap);
- }
- }
-
- OstTraceFunctionExit1( DUP1_CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_EXIT, this );
- return err;
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::getIapInfoL()
-// ---------------------------------------------------------
-//
-WlanQtUtilsIap *CmmWrapperPrivate::getIapInfoL(
- RCmConnectionMethodExt aConnectionMethod)
- {
- OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_GETIAPINFOL_ENTRY, this );
-
- TUint iapId = aConnectionMethod.GetIntAttributeL(CMManager::ECmIapId);
-
- TUint netId = aConnectionMethod.GetIntAttributeL(CMManager::ECmNetworkId);
-
- HBufC* iapName = aConnectionMethod.GetStringAttributeL(CMManager::ECmName);
-
- TUint iapBearerType = aConnectionMethod.GetIntAttributeL(CMManager::ECmBearerType);
-
- QString name = QString::fromUtf16(iapName->Ptr(), iapName->Length());
- WlanQtUtilsBearerType bearer;
-
- WlanQtUtilsIap* newIap = NULL;
- if (iapBearerType == KUidPacketDataBearerType)
- {
- bearer = WlanQtUtilsBearerTypeCellular;
- newIap = new WlanQtUtilsIap(iapId, netId, name, bearer);
- }
- else
- {
- TInt secModeFromCmManager =
- aConnectionMethod.GetIntAttributeL(CMManager::EWlanSecurityMode);
- WlanQtUtilsWlanSecMode secMode = cmm2WlanQtUtilsSecModeMap(secModeFromCmManager);
- bearer = WlanQtUtilsBearerTypeWlan;
- //Note ssid is set same as iap name
- WlanQtUtilsWlanIap* wlanIap =
- new WlanQtUtilsWlanIap(iapId, netId, name, bearer, name, secMode);
- newIap = wlanIap;
- }
-
- OstTraceFunctionExit1( CMMWRAPPERPRIVATE_GETIAPINFOL_EXIT, this );
- return newIap;
- }
-
-// ---------------------------------------------------------
-// CmmWrapperPrivate::cmm2WlanQtUtilsSecModeMap()
-// Maps CMManager's WLAN security mode into WlanQtUtilsWlanSecMode.
-// CMManager uses sec mode type TConnMonSecurityMode defined
-// in rconnmon.h.
-// ---------------------------------------------------------
-//
-WlanQtUtilsWlanSecMode CmmWrapperPrivate::cmm2WlanQtUtilsSecModeMap(int aSecModeFromCmManager)
- {
- WlanQtUtilsWlanSecMode ret;
- switch (aSecModeFromCmManager)
- {
- case CMManager::EWlanSecModeWep:
- ret = WlanQtUtilsWlanSecModeWep;
- break;
- case CMManager::EWlanSecMode802_1x:
- ret = WlanQtUtilsWlanSecMode802_1x;
- break;
- case CMManager::EWlanSecModeWpa:
- ret = WlanQtUtilsWlanSecModeWpa;
- break;
- case CMManager::EWlanSecModeWpa2:
- ret = WlanQtUtilsWlanSecModeWpa2;
- break;
- default:
- ret = WlanQtUtilsWlanSecModeOpen;
- break;
- }
-
- return ret;
- }
-
-// ---------------------------------------------------------
-// Maps WlanQtUtilsWlanSecMode into CMManager's WLAN security mode
-// (TWlanSecMode, defined in cmpluginwlandef.h).
-// ---------------------------------------------------------
-//
-int CmmWrapperPrivate::wlanQtUtils2CmmSecModeMap(WlanQtUtilsWlanSecMode aWlanQtUtilsSecMode)
- {
- int ret;
- switch (aWlanQtUtilsSecMode)
- {
- case WlanQtUtilsWlanSecModeWep:
- ret = CMManager::EWlanSecModeWep;
- break;
- case WlanQtUtilsWlanSecMode802_1x:
- ret = CMManager::EWlanSecMode802_1x;
- break;
- case WlanQtUtilsWlanSecModeWpa:
- ret = CMManager::EWlanSecModeWpa;
- break;
- case WlanQtUtilsWlanSecModeWpa2:
- ret = CMManager::EWlanSecModeWpa2;
- break;
- default:
- ret = CMManager::EWlanSecModeOpen;
- break;
- }
-
- return ret;
- }
-
-//end of file
-