convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuipluginbrandinghandler.cpp
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuipluginbrandinghandler.cpp Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implements access to branding server
-*
-*/
-
-
-#include <coemain.h>
-#include <spentry.h>
-#include <mbsaccess.h>
-#include <AknsUtils.h>
-#include <cbsbitmap.h>
-#include <cbsfactory.h>
-#include <mbselement.h>
-#include <spsettings.h>
-#include <spproperty.h>
-#include <spdefinitions.h>
-
-#include "cchuipluginbrandinghandler.h"
-#include "cchuipluginiconfileprovider.h"
-
-_LIT8( KDefaultAppId, "xsp" );
-_LIT8( KBrandedBitmapItemId, "service_passive_image_small" );
-
-const TUint KIconWidth( 20 );
-const TUint KIconHeight( 20 );
-const TUint KBrandStringMaxLength( 255 );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-CCchUiPluginBrandingHandler::CCchUiPluginBrandingHandler(
- CSPSettings& aSpSettings ):
- iSpSettings( aSpSettings )
- {
- }
-
-void CCchUiPluginBrandingHandler::ConstructL()
- {
- }
-
-CCchUiPluginBrandingHandler* CCchUiPluginBrandingHandler::NewL(
- CSPSettings& aSpSettings )
- {
- CCchUiPluginBrandingHandler* self = NewLC( aSpSettings );
- CleanupStack::Pop( self );
- return self;
- }
-
-CCchUiPluginBrandingHandler* CCchUiPluginBrandingHandler::NewLC(
- CSPSettings& aSpSettings )
- {
- CCchUiPluginBrandingHandler* self =
- new (ELeave) CCchUiPluginBrandingHandler( aSpSettings );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-CCchUiPluginBrandingHandler::~CCchUiPluginBrandingHandler()
- {
- delete iFactory;
- iFactory = NULL;
- if ( iAccess )
- {
- iAccess->Close();
- }
- }
-
-// ---------------------------------------------------------------------------
-// Retrieves service icon.
-// ---------------------------------------------------------------------------
-//
-void CCchUiPluginBrandingHandler::RetrieveServiceIconL(
- TUint32 aServiceId, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
- {
- // start fetching of branding image
- // get structure containing the info needed to load brand image
- MBSElement* bitmapItem = NULL;
-
- // Access must be created and destroyed for each call since this is
- // common implementation for all services, otherwise brand data
- // fetching might fail or return data from another service.
- PrepareBrandingAccessL( aServiceId );
-
- bitmapItem = iAccess->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
- iAccess->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() );
-
- TRAP( err, skinBitmap = AknsUtils::CreateBitmapL( skin, itemId ) );
- }
-
- if ( err == KErrNotFound )
- {
- // no skin bitmap found
-
- // icon server take ownership of icon file provider
- // File provider duplicates the file handle, close the original
- // Duplication needed because lifetime of image is different than
- // this file handle's.
- CCchUiPluginIconFileProvider* ifp =
- CCchUiPluginIconFileProvider::NewL( bitmapFile );
- CleanupStack::PushL( ifp );
-
- AknIconUtils::CreateIconLC( aBitmap, aMask,
- *ifp,
- bsBitmap.BitmapId(),
- bsBitmap.BitmapMaskId() );
- CleanupStack::Pop( aMask );
- CleanupStack::Pop( aBitmap );
- CleanupStack::Pop( ifp );
- }
- else if ( err )
- {
- User::Leave( err );
- }
- else
- {
- aBitmap = skinBitmap;
- aMask = NULL;
- }
- // Icons must be initialized with setsize in order to use them
- TSize size( KIconWidth, KIconHeight );
- if ( aBitmap )
- {
- AknIconUtils::SetSize( aBitmap, size );
- }
-
- if ( aMask )
- {
- AknIconUtils::SetSize( aMask, size );
- }
-
- CleanupStack::PopAndDestroy( &bitmapFile );
- CleanupStack::PopAndDestroy( bitmapItem );
- ReleaseBrandingAccess();
- }
-
-// ---------------------------------------------------------------------------
-// Prepares branding access.
-// ---------------------------------------------------------------------------
-//
-void CCchUiPluginBrandingHandler::PrepareBrandingAccessL( TUint32 aServiceId )
- {
- ReleaseBrandingAccess();
-
- HBufC8* brandiId8 = HBufC8::NewLC( KBrandStringMaxLength );
- TPtr8 brandiId8Ptr( brandiId8->Des() );
-
- HBufC* brandId = HBufC::NewLC( KBrandStringMaxLength );
- TPtr brandiIdPtr( brandId->Des() );
-
- CSPProperty* idProperty = CSPProperty::NewLC();
- iSpSettings.FindPropertyL( aServiceId,
- EPropertyBrandId,
- *idProperty );
- if ( idProperty )
- {
- idProperty->GetValue( brandiIdPtr );
- brandiId8Ptr.Copy( brandiIdPtr );
- }
- CleanupStack::PopAndDestroy( idProperty );
- CleanupStack::PopAndDestroy( brandId );
-
- // default to english
- TInt brandLanguage = ELangInternationalEnglish;
- CSPProperty* lanProperty = CSPProperty::NewLC();
- iSpSettings.FindPropertyL( aServiceId,
- EPropertyBrandLanguage,
- *lanProperty );
- if ( lanProperty )
- {
- lanProperty->GetValue( brandLanguage );
- brandLanguage = ((TLanguage) (brandLanguage));
- }
- CleanupStack::PopAndDestroy( lanProperty );
-
- iFactory = CBSFactory::NewL( brandiId8Ptr, KDefaultAppId );
- iAccess = iFactory->CreateAccessL( brandiId8Ptr,
- ((TLanguage) ( brandLanguage )) );
- CleanupStack::PopAndDestroy( brandiId8 );
- }
-
-// ---------------------------------------------------------------------------
-// Releases branding access.
-// ---------------------------------------------------------------------------
-//
-void CCchUiPluginBrandingHandler::ReleaseBrandingAccess()
- {
- if ( iAccess )
- {
- iAccess->Close();
- iAccess = NULL;
- }
- delete iFactory;
- iFactory = NULL;
- }
-
-