wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingbrand.cpp
branchRCL_3
changeset 24 63be7eb3fc78
parent 23 b852595f5cbe
child 25 f28ada11abbf
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingbrand.cpp	Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,458 +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 CWsfWlanInfoSortingBrand
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <eikenv.h>
-#include <barsread.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <mifconvdefs.h>
-#include <wsfwlaninfosorting.rsg>
-
-//  CLASS HEADER
-#include "wsfwlaninfosortingbrand.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;
-
-
-
-#ifdef _DEBUG
-    // Add own assert debug 
-    // implementation if needed
-	#define __ASSERTD( cond )
-#else
-    #define __ASSERTD( cond )
-#endif //_DEBUG
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem():
-	iSsid( KNullDesC8 ),
-	iBrandId( 0 )
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem( const TDesC8& aSsid, 
-                                                        const TInt8 aBrandId ):
-	iSsid( aSsid ),
-	iBrandId( aBrandId )
-	{
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::Match
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::TBrandableItem::Match(
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iSsid.Compare( aItemRight.iSsid ) == 0;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId( 
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iBrandId - aItemRight.iBrandId;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid( 
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iSsid.Compare( aItemRight.iSsid );	
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewLC()
-	{
-	CWsfWlanInfoSortingBrand* thisPtr = 
-	                                new (ELeave) CWsfWlanInfoSortingBrand();
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewL()
-	{
-	CWsfWlanInfoSortingBrand* thisPtr = NewLC();
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand():
-	iBitmapFileName( NULL ),
-	iBrandingDataOk( EFalse )
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand()
-	{
-	delete iBitmapFileName;
-	iBrandItemArray.ResetAndDestroy();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ConstructL()
-	{
-	// nothing to do...
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::Compare
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::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;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::SetupOnRuleMatch
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft )
-	{
-	TBool ret( EFalse );
-	// check if the entry already has an branding flag on - return ETrue
-	
-	if ( iBrandingDataOk && !aInfoLeft.BrandId() )
-		{
-    	// using the ssid... try to find the ssid from iBrandItemArray
-    	TBrandableItem item;
-    	item.iSsid = aInfoLeft.iSsid;
-    	
-    	TLinearOrder<TBrandableItem> findBinarySsid( 
-                    CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-    	
-    	TInt entryFindValue = iBrandItemArray.FindInOrder( &item, 
-    	                                                  findBinarySsid );
-    	if ( entryFindValue != KErrNotFound )
-    		{
-    		// mark the entry...
-    		aInfoLeft.SetBrand( 
-    		                iBrandItemArray[entryFindValue]->iBrandId );
-    		ret = ETrue;
-    		}
-
-		}
-		
-	return ret;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MarkMatchedFilterL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::MarkMatchedFilterL( 
-                                              TWsfWlanInfo& /*aFilterEntry*/ )
-	{
-	// we do not modify the contents in default filter...
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::EditFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::EditFilterDefsL( 
-                                           CWsfWlanInfoArray& /*aInfoArray*/ )
-	{
-	// we have hardcoded rules... we don't need editui..
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadFilterDefsL()
-	{
-	ReadBrandedSsidsL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadBrandedSsidsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadBrandedSsidsL()
-	{
-	iBrandItemArray.ResetAndDestroy();
-	iBrandingDataOk = EFalse;
-
-	TResourceReader reader;
-	CEikonEnv& env = *CEikonEnv::Static();
-	env.CreateResourceReaderLC( reader, R_QTN_SSID_BRANDING );
-	
-	delete iBitmapFileName;
-	iBitmapFileName = NULL;
-
-	// ok - lets read the filename...
-	iBitmapFileName = reader.ReadHBufCL();
-	
-	if ( iBitmapFileName ) // not iconfilename defined.... 
-		{
-    	// try to locate the icon file 
-    	TFindFile finder( env.FsSession() );
-    	
-    	TParsePtrC parser( *iBitmapFileName );
-
-        TInt findError = finder.FindByDir( parser.NameAndExt(), 
-                                           parser.Path() );
-
-    	delete iBitmapFileName;
-    	iBitmapFileName = NULL;
-
-        if ( !findError )
-        	{
-        	iBitmapFileName = finder.File().AllocL();
-        	
-        	TInt brandedItemCount = reader.ReadInt16();
-        	TBrandableItem* brandableItem = NULL;
-
-        	CDesC8ArrayFlat* ssidArray = NULL;
-        	TInt iconId( 0 );
-        	TInt maskId( 0 );
-
-        	for ( TInt readCount( 0 ); readCount < brandedItemCount; 
-        	                                                      ++readCount )
-        		{
-        		ssidArray = reader.ReadDesC8ArrayL();
-        		CleanupStack::PushL( ssidArray );
-
-        		iconId = reader.ReadInt16();
-        		maskId = reader.ReadInt16();
-
-        		TInt ssidCount( ssidArray->Count() );
-        		
-        		for ( TInt ssidIter( 0 ); ssidIter < ssidCount; ssidIter++ )
-        			{
-        			brandableItem = new (ELeave) TBrandableItem;
-        			brandableItem->iSsid = ssidArray->MdcaPoint( ssidIter );
-        			brandableItem->iBrandId = readCount + 1;
-        			brandableItem->iIconId = iconId;
-        			brandableItem->iMaskId = maskId;
-        			iBrandItemArray.AppendL( brandableItem );
-        			}		
-        		CleanupStack::PopAndDestroy( ssidArray );
-        		}
-
-        	// and to speed up the ssid match sort the array by ssid
-        	TLinearOrder<TBrandableItem> sortingRuleSSId( 
-        	            CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-        	
-        	iBrandItemArray.Sort( sortingRuleSSId );
-        	iBrandingDataOk = ( iBrandItemArray.Count() > 0 );
-        	}
-    		
-		}
-        
-	CleanupStack::PopAndDestroy(); //reader	        
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::AppendBrandIconsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::AppendBrandIconsL( CAknIconArray& aIconArray )
-	{
-	if ( iBrandingDataOk )
-		{
-    	// sort the array by brandid	
-    	TLinearOrder<TBrandableItem> sortingRule( 
-    	             CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId );
-    	
-    	iBrandItemArray.Sort( sortingRule );
-    		
-    		
-    	// loop here - load icon and append to array....
-    	TBrandableItem* item;
-    	TInt brandArrayCount( iBrandItemArray.Count() );
-    	TInt brandId( 0 );
-    	for ( TInt loopCounter( 0 ); loopCounter < brandArrayCount; 
-    	                                                        ++loopCounter )
-    		{
-    		item = iBrandItemArray[ loopCounter ];
-    		if ( item->iBrandId > brandId ) 
-    			{
-        		brandId	= item->iBrandId;
-        		aIconArray.AppendL( MakeIconLC( item->iIconId, 
-        		                                             item->iMaskId ) );
-        		CleanupStack::Pop(); // icon
-    			}
-    		}
-    		
-    	// and to speed up the ssid match sort the array by ssid
-    	TLinearOrder<TBrandableItem> sortingRuleSSId( 
-    	                CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-    	
-    	iBrandItemArray.Sort( sortingRuleSSId );
-
-		}
-		
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MakeIconLC
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CWsfWlanInfoSortingBrand::MakeIconLC( const TInt aIconId, 
-                                                const TInt aMaskId )
-	{
-	CGulIcon* icon = CGulIcon::NewLC();
-	CFbsBitmap* bitmap( NULL );   
-	CFbsBitmap* mask( NULL );   
-      
-	// Creates bitmap an icon.
-    AknIconUtils::CreateIconL( bitmap, mask, *iBitmapFileName, 
-                               aIconId, aMaskId );
-
-   	icon->SetBitmap( bitmap );   
-   	icon->SetMask( mask ); 
-    return icon;    		  	
-	}
-
-
-
-