diff -r 2e2a89493e2b -r 48dd0f169f0d imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailcenrep.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailcenrep.cpp Fri Sep 03 10:29:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,331 +0,0 @@ -/* -* Copyright (c) 2006-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: Class for handling central repositoty data - * -*/ - - -#include - -#include - -#include "thumbnailcenrep.h" -#include "thumbnailmanageruids.hrh" -#include "thumbnailstore.h" -#include "thumbnailmanagerconstants.h" -#include "thumbnailmanagerprivatecrkeys.h" - -// --------------------------------------------------------------------------- -// TThumbnailPersistentSize::TThumbnailPersistentSize -// --------------------------------------------------------------------------- -// -TThumbnailPersistentSize::TThumbnailPersistentSize( const TSize& aSize, TBool - aCrop, TDisplayMode aMode, TInt aFormat ) : iSize( aSize ), iCrop( aCrop ), - iMode( aMode ), iFormat( aFormat ) - { - iType = EUnknownThumbnailSize; - iSourceType = EUnknownSourceType; - iAutoCreate = ETrue; - iSizeType = EUnknownSizeType; - } - -// --------------------------------------------------------------------------- -// TThumbnailPersistentSize::TThumbnailPersistentSize -// --------------------------------------------------------------------------- -// -TThumbnailPersistentSize::TThumbnailPersistentSize( TThumbnailSize aType, - const TSize& aSize, TBool aCrop, TDisplayMode aMode, TInt aFormat, - TBool aAutoCreate, TThumbnailSizeType aSizeType ) - : iType( aType ), iSize( aSize ), iCrop( aCrop ), iMode( aMode ), - iFormat( aFormat ), iAutoCreate( aAutoCreate ), iSizeType( aSizeType ) - { - switch ( aType ) - { - case EImageGridThumbnailSize: - case EImageListThumbnailSize: - case EImageFullScreenThumbnailSize: - iSourceType = EImage; - break; - case EVideoGridThumbnailSize: - case EVideoListThumbnailSize: - case EVideoFullScreenThumbnailSize: - iSourceType = EVideo; - break; - case EAudioGridThumbnailSize: - case EAudioListThumbnailSize: - case EAudioFullScreenThumbnailSize: - iSourceType = EAudio; - break; - case EContactGridThumbnailSize: - case EContactListThumbnailSize: - case EContactFullScreenThumbnailSize: - iSourceType = EContact; - break; - default: - iSourceType = EUnknownSourceType; - } - - } - -// --------------------------------------------------------------------------- -// TThumbnailAutoCreate::TThumbnailAutoCreate -// --------------------------------------------------------------------------- -// -TThumbnailAutoCreate::TThumbnailAutoCreate() - : iImageGrid(EFalse), iImageList(EFalse), iImageFullscreen(EFalse), - iVideoGrid(EFalse), iVideoList(EFalse), iVideoFullscreen(EFalse), - iAudioGrid(EFalse), iAudioList(EFalse), iAudioFullscreen(EFalse), - iContactGrid(EFalse), iContactList(EFalse), iContactFullscreen(EFalse) - { - // No implementation required - } - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::CThumbnailCenRep() -// C++ default constructor can NOT contain any code, that might leave. -// --------------------------------------------------------------------------- -// -CThumbnailCenRep::CThumbnailCenRep() - { - // No implementation required - } - - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::~CThumbnailCenRep() -// Destructor. -// --------------------------------------------------------------------------- -// -CThumbnailCenRep::~CThumbnailCenRep() - { - iPersistentSizes.Close(); - delete iAutoCreate; - iAutoCreate = NULL; - delete iRepository; - iRepository = NULL; - } - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::NewL() -// Two-phased constructor. -// --------------------------------------------------------------------------- -// -CThumbnailCenRep* CThumbnailCenRep::NewL() - { - CThumbnailCenRep* self = new( ELeave )CThumbnailCenRep(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::ConstructL() -// Returns id of specific task. -// --------------------------------------------------------------------------- -// -void CThumbnailCenRep::ConstructL() - { - iRepository = CRepository::NewL( TUid::Uid( THUMBNAIL_CENREP_UID )); - - TInt xSize( 0 ); - TInt ySize( 0 ); - TBool flags( EFalse ); - const TBool KGridAndListThumbnailCropped = ETrue; - TInt raw_mode( KThumbnailDefaultDisplayMode ); - TInt format( 0 ); - TBool autoCreate( EFalse ); - - User::LeaveIfError( iRepository->Get( KSizeImageGridWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeImageGridHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateImageGrid, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EImageGridThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EGrid )); - - User::LeaveIfError( iRepository->Get( KSizeImageListWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeImageListHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateImageList, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EImageListThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EList )); - - User::LeaveIfError( iRepository->Get( KSizeImageFullscreenWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeImageFullscreenHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateImageFullscreen, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EImageFullScreenThumbnailSize, TSize( xSize, ySize ), - flags, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen )); - - User::LeaveIfError( iRepository->Get( KSizeVideoGridWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeVideoGridHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoGrid, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EVideoGridThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EGrid )); - - User::LeaveIfError( iRepository->Get( KSizeVideoListWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeVideoListHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoList, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EVideoListThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EList )); - - User::LeaveIfError( iRepository->Get( KSizeVideoFullscreenWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeVideoFullscreenHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoFullscreen, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EVideoFullScreenThumbnailSize, TSize( xSize, ySize ), - flags, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen )); - - User::LeaveIfError( iRepository->Get( KSizeAudioGridWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeAudioGridHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioGrid, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EAudioGridThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EGrid )); - - User::LeaveIfError( iRepository->Get( KSizeAudioListWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeAudioListHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioList, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EAudioListThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EList )); - - User::LeaveIfError( iRepository->Get( KSizeAudioFullscreenWidth, xSize )); - User::LeaveIfError( iRepository->Get( KSizeAudioFullscreenHeight, ySize )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioFullscreen, autoCreate )); - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EAudioFullScreenThumbnailSize, TSize( xSize, ySize ), - flags, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen )); - -// Contact TN, set default values if not found - if(iRepository->Get( KSizeContactGridWidth, xSize ) != KErrNone) - { - xSize = 54; - } - if( iRepository->Get( KSizeContactGridHeight, ySize ) != KErrNone) - { - ySize = 54; - } - - if( iRepository->Get( KAutoCreateContactGrid, autoCreate ) != KErrNone) - { - autoCreate = 1; - } - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactGridThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EGrid )); - - if( iRepository->Get( KSizeContactListWidth, xSize ) != KErrNone) - { - xSize = 64; - } - if( iRepository->Get( KSizeContactListHeight, ySize ) != KErrNone) - { - ySize = 64; - } - if( iRepository->Get( KAutoCreateContactList, autoCreate ) != KErrNone) - { - autoCreate = 1; - } - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactListThumbnailSize, TSize( xSize, ySize ), - KGridAndListThumbnailCropped, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EList )); - - if( iRepository->Get( KSizeContactFullscreenWidth, xSize ) != KErrNone) - { - xSize = 250; - } - if( iRepository->Get( KSizeContactFullscreenHeight, ySize ) != KErrNone) - { - ySize = 250; - } - if( iRepository->Get( KAutoCreateContactFullscreen, autoCreate) != KErrNone) - { - autoCreate = 1; - } - - iPersistentSizes.AppendL( TThumbnailPersistentSize( EContactFullScreenThumbnailSize, TSize( xSize, ySize ), - flags, static_cast (raw_mode), format, autoCreate, TThumbnailPersistentSize::EFullscreen )); - - - iAutoCreate = new (ELeave) TThumbnailAutoCreate(); - - User::LeaveIfError( iRepository->Get( KAutoCreateImageGrid, iAutoCreate->iImageGrid )); - User::LeaveIfError( iRepository->Get( KAutoCreateImageList, iAutoCreate->iImageList )); - User::LeaveIfError( iRepository->Get( KAutoCreateImageFullscreen, iAutoCreate->iImageFullscreen )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoGrid, iAutoCreate->iVideoGrid )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoList, iAutoCreate->iVideoList )); - User::LeaveIfError( iRepository->Get( KAutoCreateVideoFullscreen, iAutoCreate->iVideoFullscreen )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioGrid, iAutoCreate->iAudioGrid )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioList, iAutoCreate->iAudioList )); - User::LeaveIfError( iRepository->Get( KAutoCreateAudioFullscreen, iAutoCreate->iAudioFullscreen )); - - if( iRepository->Get( KAutoCreateContactGrid, iAutoCreate->iContactGrid ) != KErrNone ) - { - iAutoCreate->iContactGrid = 1; - } - if( iRepository->Get( KAutoCreateContactList, iAutoCreate->iContactList ) != KErrNone ) - { - iAutoCreate->iContactList = 1; - } - if( iRepository->Get( KAutoCreateContactFullscreen, iAutoCreate->iContactFullscreen ) != KErrNone ) - { - iAutoCreate->iContactFullscreen = 1; - } - } - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::GetPersistentSizes() -// --------------------------------------------------------------------------- -// -RArray < TThumbnailPersistentSize > & CThumbnailCenRep::GetPersistentSizes() - { - return iPersistentSizes; - } - -// --------------------------------------------------------------------------- -// CThumbnailCenRep::GetAutoCreateParams() -// --------------------------------------------------------------------------- -// -TThumbnailAutoCreate & CThumbnailCenRep::GetAutoCreateParams() - { - return *iAutoCreate; - } - -TThumbnailPersistentSize & CThumbnailCenRep::PersistentSizeL( TThumbnailSize - aThumbnailSize ) - { - TThumbnailPersistentSize* persistentSize = NULL; - TInt i = iPersistentSizes.Count(); - for ( ; --i >= 0; ) - { - persistentSize = &iPersistentSizes[i]; - if ( persistentSize->iType == aThumbnailSize ) - { - break; - } - } - if ( i < 0 ) - { // size not found - User::Leave( KErrNotFound ); - } - - return *persistentSize; - } - -// End of file