imagehandlinglib/Src/IHLViewerFactory.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 15:18:05 +0200
changeset 0 2014ca87e772
permissions -rw-r--r--
Revision: 201004

/*
* Copyright (c) 2004-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:  Static factory class for creating viewers.
*
*/


// INCLUDE FILES
#include <IHLViewerFactory.h>

#include "CIHLImageViewerExtJpg.h"
#include "MIHLFileImageExtJpg.h"
#include "IHLImplementationIds.h"

#include "CIHLImageViewer.h"
#include <MIHLImage.h>
#include <MIHLFileImage.h>
#include <IHLInterfaceIds.h>


// ============================ STATIC FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// IHLViewerFactory::CreateImageViewerL
// -----------------------------------------------------------------------------
//
EXPORT_C MIHLImageViewer* IHLViewerFactory::CreateImageViewerL(
											const TSize& aViewerSize,
											MIHLImage& aSource,
											MIHLBitmap& aDestination,
											MIHLViewerObserver& aObserver,
											const TUint32 aOptions )
	{
	MIHLImageViewer* viewer = NULL;
	if( aSource.Type().iInterfaceId == KIHLInterfaceIdFileImage )
		{
		if( aSource.Type().iImplementationId == KIHLImplementationIdFileImageExtJpg )
			{
			viewer = CIHLImageViewerExtJpg::NewL( aViewerSize, static_cast< MIHLFileImageExtJpg& >( aSource ), // CSI: 35 #
													 aDestination, aObserver, aOptions );
			}
		else
			{
			viewer = CIHLImageViewer::NewL( aViewerSize, static_cast< MIHLFileImage& >( aSource ),  // CSI: 35 #
													aDestination, aObserver, aOptions );
			}
		}
	else
		{
		User::Leave( KErrArgument );
		}
	return viewer;
	}

//  End of File