diff -r dbe86d96ce5b -r 2dc6da6fb431 wlanutilities/wlanqtutilities/base/src/wlanqtutilsap.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsap.cpp Fri Jun 11 14:43:07 2010 +0300 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2009-2010 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: +* WLAN AP (Access Point, unknown network) class. +*/ + +// System includes + +#include +#include +#include +#include + +// User includes + +#include "wlanqtutilsap.h" + +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "wlanqtutilsapTraces.h" +#endif + +/*! + \class WlanQtUtilsApPrivate + \brief Private implementation of WlanQtUtilsAp. +*/ + +class WlanQtUtilsApPrivate +{ +private: + //! Access Point configuration data + QHash mConfigurations; + + friend class WlanQtUtilsAp; +}; + +/*! + \class WlanQtUtilsAp + \brief WLAN Access Point class. + + Contains the information related to unknown WLAN access points. +*/ + +// External function prototypes + +// Local constants + +// ======== LOCAL FUNCTIONS ======== + +// ======== MEMBER FUNCTIONS ======== + +/*! + Constructor. +*/ + +WlanQtUtilsAp::WlanQtUtilsAp() : + d_ptr(new WlanQtUtilsApPrivate()) +{ +} + +/*! + Copy constructor. + + @param [in] ref AP to create a copy of. +*/ + +WlanQtUtilsAp::WlanQtUtilsAp(const WlanQtUtilsAp &ref) : + d_ptr(new WlanQtUtilsApPrivate()) +{ + d_ptr->mConfigurations = ref.d_ptr->mConfigurations; +} + +/*! + Destructor. +*/ + +WlanQtUtilsAp::~WlanQtUtilsAp() +{ +} + +/*! + Getter for AP data. + + @param [in] identifier Identifier of value to get. + + @return Value. +*/ + +QVariant WlanQtUtilsAp::value(int identifier) const +{ + Q_ASSERT(d_ptr->mConfigurations.contains(identifier)); + Q_ASSERT(d_ptr->mConfigurations[identifier].isValid()); + +#ifdef OST_TRACE_COMPILER_IN_USE + QString tmp; + QDebug tmpStream(&tmp); + tmpStream << d_ptr->mConfigurations[identifier]; + TPtrC16 string(tmp.utf16(), tmp.length()); + + OstTraceExt2( + TRACE_DUMP, + WLANQTUTILSAP_VALUE, + "WlanQtUtilsAp::value;identifier=%{ConfId};string=%S", + (TUint)identifier, + string); +#endif + + return d_ptr->mConfigurations[identifier]; +} + +/*! + Setter for AP data. + + @param [in] identifier Identifier of value to set. + @param [in] value Value to set. +*/ + +void WlanQtUtilsAp::setValue(int identifier, QVariant value) +{ +#ifdef OST_TRACE_COMPILER_IN_USE + QString tmp; + QDebug tmpStream(&tmp); + tmpStream << value; + TPtrC16 string(tmp.utf16(), tmp.length()); + + OstTraceExt2( + TRACE_DUMP, + WLANQTUTILSAP_SETVALUE, + "WlanQtUtilsAp::setValue;identifier=%{ConfId};string=%S", + (TUint)identifier, + string); +#endif + + d_ptr->mConfigurations[identifier] = value; +} + +/*! + AP comparison function. + + @param [in] ap1 First AP to compare. + @param [in] ap2 Second AP to compare. + + @return TRUE, if APs are considered to be same. +*/ + +bool WlanQtUtilsAp::compare( + const WlanQtUtilsAp *ap1, + const WlanQtUtilsAp *ap2) +{ + bool equal = false; + + // SSID (case sensitive) and security mode (with or without PSK) + // are the values, which identify a unique access point. + if (ap1->value(WlanQtUtilsAp::ConfIdSsid) == + ap2->value(WlanQtUtilsAp::ConfIdSsid) + && ap1->value(WlanQtUtilsAp::ConfIdSecurityMode) == + ap2->value(WlanQtUtilsAp::ConfIdSecurityMode) + && ap1->value(WlanQtUtilsAp::ConfIdWpaPskUse) == + ap2->value(WlanQtUtilsAp::ConfIdWpaPskUse)) { + equal = true; + } + + return equal; +}