diff -r 7b872347d83b -r 6d0b9f605b61 commsconfig/cscengine/src/cscengbrandinghandler.cpp --- a/commsconfig/cscengine/src/cscengbrandinghandler.cpp Tue Feb 02 00:05:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,194 +0,0 @@ -/* -* Copyright (c) 2007-2007 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: For CSC needed branding server handling -* -*/ - - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cscenglogger.h" -#include "cscengbrandinghandler.h" - - -_LIT8( KDefaultAppId, "xsp" ); -_LIT8( KBrandedBitmapItemId, "default_brand_image" ); - -const TUint KVersion( 1 ); - -// ======== MEMBER FUNCTIONS ======== - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// -CCSCEngBrandingHandler::CCSCEngBrandingHandler() - { - } - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// -void CCSCEngBrandingHandler::ConstructL() - { - CSCENGDEBUG( "CCSCEngBrandingHandler::ConstructL - begin" ); - - iFactory = CBSFactory::NewL( KNullDesC8, KDefaultAppId ); - - CSCENGDEBUG( "CCSCEngBrandingHandler::ConstructL - end" ); - } - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// -EXPORT_C CCSCEngBrandingHandler* CCSCEngBrandingHandler::NewL() - { - CCSCEngBrandingHandler* self = new (ELeave) CCSCEngBrandingHandler; - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// -CCSCEngBrandingHandler::~CCSCEngBrandingHandler() - { - CSCENGDEBUG( - "CCSCEngBrandingHandler::~CCSCEngBrandingHandler - begin" ); - - delete iFactory; - - CSCENGDEBUG( - "CCSCEngBrandingHandler::~CCSCEngBrandingHandler - end" ); - } - - -// --------------------------------------------------------------------------- -// --------------------------------------------------------------------------- -// -EXPORT_C void CCSCEngBrandingHandler::GetServiceBrandIconL( - const TDesC8& aBrandId, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask, - TInt aIconSize ) - { - CSCENGDEBUG( - "CCSCEngBrandingHandler::GetServiceBrandIconL - begin" ); - - // Create access to Branding server - MBSAccess* access = iFactory->CreateAccessL( - aBrandId, ELangInternationalEnglish, KVersion ); - CleanupClosePushL( *access ); - - // start fetching of branding image - // get structure containing the info needed to load brand image - MBSElement* bitmapItem = NULL; - bitmapItem = access->GetStructureL( KBrandedBitmapItemId ); - CleanupClosePushL( *bitmapItem ); - - // get info from the bitmap element - const CBSBitmap& bsBitmap = bitmapItem->BitmapDataL(); - - RFile bitmapFile; - CleanupClosePushL( bitmapFile ); - - // get the bitmap file from where we can load the bitmap - access->GetFileL( bsBitmap.BitmapFileId(), bitmapFile ); - - TInt err = KErrNotFound; - CFbsBitmap* skinBitmap = NULL; - - // Try getting skinned images first - - if( CCoeEnv::Static() ) - { - MAknsSkinInstance* skin = AknsUtils::SkinInstance(); - - TAknsItemID itemId; - itemId.Set( bsBitmap.SkinIdMajor(), bsBitmap.SkinIdMinor() ); - - CleanupStack::PushL( skinBitmap ); - - TRAP( err, skinBitmap = AknsUtils::CreateBitmapL( skin, itemId ) ); - - CleanupStack::Pop( skinBitmap ); - } - - if( err == KErrNotFound ) // no skin bitmap found - { - iFile = bitmapFile; - AknIconUtils::CreateIconLC( aBitmap, - aMask, - *this, - bsBitmap.BitmapId(), - bsBitmap.BitmapMaskId() ); - - CleanupStack::Pop( aMask ); - CleanupStack::Pop( aBitmap ); - } - else if( err ) - { - User::Leave( err ); - } - else - { - aBitmap = skinBitmap; - aMask = NULL; - } - - TSize size( aIconSize, aIconSize ); - if ( aBitmap ) - { - AknIconUtils::SetSize( aBitmap, size ); - } - - if ( aMask ) - { - AknIconUtils::SetSize( aMask, size ); - } - - CleanupStack::PopAndDestroy( &bitmapFile ); - CleanupStack::PopAndDestroy( bitmapItem ); - CleanupStack::PopAndDestroy( access ); - - CSCENGDEBUG( - "CCSCEngBrandingHandler::GetServiceBrandIconL - end" ); - } - - -// --------------------------------------------------------------------------- -// From class MAknIconFileProvider -// For getting an open file handle to the icon file. -// --------------------------------------------------------------------------- -// -void CCSCEngBrandingHandler::RetrieveIconFileHandleL( - RFile& aFile, const TIconFileType /*aType*/ ) - { - aFile.Duplicate( iFile ); - } - - - - -