--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdefault.cpp Wed Sep 01 12:20:32 2010 +0100
@@ -0,0 +1,210 @@
+/*
+* 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 CWsfWlanInfoSortingDefault
+*
+*/
+
+
+
+// CLASS HEADER
+#include "wsfwlaninfosortingdefault.h"
+
+// INTERNAL INCLUDES
+#include "wsfwlaninfo.h"
+
+
+/**
+* Compare result: left-hand item goes first
+*/
+static const TInt KLeftFirst = -1;
+
+/**
+* Compare result: right-hand item goes first
+*/
+static const TInt KRightFirst = 1;
+
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::NewLC
+// ---------------------------------------------------------------------------
+//
+CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewLC()
+ {
+ CWsfWlanInfoSortingDefault* thisPtr =
+ new (ELeave) CWsfWlanInfoSortingDefault();
+ CleanupStack::PushL( thisPtr );
+ thisPtr->ConstructL();
+ return thisPtr;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::NewL
+// ---------------------------------------------------------------------------
+//
+CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewL()
+ {
+ CWsfWlanInfoSortingDefault* thisPtr = NewLC();
+ CleanupStack::Pop( thisPtr );
+ return thisPtr;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault
+// ---------------------------------------------------------------------------
+//
+CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault()
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault
+// ---------------------------------------------------------------------------
+//
+CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault()
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CWsfWlanInfoSortingDefault::ConstructL()
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::Compare
+// ---------------------------------------------------------------------------
+//
+TInt CWsfWlanInfoSortingDefault::Compare( const TWsfWlanInfo& aLeft,
+ const TWsfWlanInfo& aRight )
+ {
+ TInt ret( 0 );
+
+ // connected goes first
+ if ( aLeft.Connected() )
+ {
+ ret = KLeftFirst;
+ }
+ else if ( aRight.Connected() )
+ {
+ ret = KRightFirst;
+ }
+
+ // then customer favourite networks
+ else if ( aLeft.BrandId() )
+ {
+ if ( aRight.BrandId() )
+ {
+ // smaller brand id first
+ ret = aLeft.BrandId() - aRight.BrandId();
+ }
+ else
+ {
+ ret = KLeftFirst;
+ }
+ }
+ else if ( aRight.BrandId() )
+ {
+ ret = KRightFirst;
+ }
+
+
+ // then known networks
+ else if ( aLeft.Known() && !aRight.Known() )
+ {
+ ret = KLeftFirst;
+ }
+ else if ( !aLeft.Known() && aRight.Known() )
+ {
+ ret = KRightFirst;
+ }
+
+ // finally SSID alphabetic order decides
+ else
+ {
+ if ( ( aLeft.iNetworkName.Length() ) &&
+ ( aRight.iNetworkName.Length() ) )
+ {
+ ret = aLeft.iNetworkName.CompareC( aRight.iNetworkName );
+ }
+ else if ( aLeft.iNetworkName.Length() )
+ {
+ ret = aLeft.iNetworkName.CompareC( aRight.iSsid );
+ }
+ else if ( aRight.iNetworkName.Length() )
+ {
+ ret = aLeft.iSsid.CompareC( aRight.iNetworkName );
+ }
+ else
+ {
+ ret = aLeft.iSsid.CompareC( aRight.iSsid );
+ }
+ }
+
+ return ret;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::SetupOnRuleMatch
+// ---------------------------------------------------------------------------
+//
+TBool CWsfWlanInfoSortingDefault::SetupOnRuleMatch( TWsfWlanInfo&
+ /*aInfoLeft*/ )
+ {
+ // as a default filter - every rules is a match
+ return ETrue;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::MarkMatchedFilterL
+// ---------------------------------------------------------------------------
+//
+void CWsfWlanInfoSortingDefault::MarkMatchedFilterL(
+ TWsfWlanInfo& /*aFilterEntry*/ )
+ {
+ // we do not modify the contents in default filter...
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::EditFilterDefsL
+// ---------------------------------------------------------------------------
+//
+void CWsfWlanInfoSortingDefault::EditFilterDefsL(
+ CWsfWlanInfoArray& /*aInfoArray*/)
+ {
+ // we have hardcoded rules... we don't need editui..
+ }
+
+
+// ---------------------------------------------------------------------------
+// CWsfWlanInfoSortingDefault::ReadFilterDefsL
+// ---------------------------------------------------------------------------
+//
+void CWsfWlanInfoSortingDefault::ReadFilterDefsL()
+ {
+ // we have static definitions... nothing to do...
+ }
+
+
+