omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconfigmanager.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 02 Sep 2010 20:13:57 +0300
changeset 0 58be5850fb6c
permissions -rw-r--r--
Revision: 2010wk32 Kit: 201035

/*
* Copyright (c) 2008-2009 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:
*
*/


/**
 @file
 @internalComponent
*/

#ifndef OMXILPCMRENDERERCONFIGMANAGER_H
#define OMXILPCMRENDERERCONFIGMANAGER_H

#include <openmax/il/common/omxilconfigmanager.h>

// class forwarding
class COmxILPcmRendererProcessingFunction;

/**
   This class is a placeholder for those PCM Renderer parameters and configs that
   apply to the component as a whole and not to a specific port in the
   component.
 */
NONSHARABLE_CLASS(COmxILPcmRendererConfigManager) : public COmxILConfigManager
	{

public:

	static COmxILPcmRendererConfigManager* NewL(
		COmxILPcmRendererProcessingFunction& aProcessingFunction,
		const TDesC8& aComponentName,
		const OMX_VERSIONTYPE& aComponentVersion,
		const RPointerArray<TDesC8>& aComponentRoleList);

	~COmxILPcmRendererConfigManager();

	OMX_ERRORTYPE GetConfig(
		OMX_INDEXTYPE aConfigIndex,
		TAny* apComponentConfigStructure) const;

	OMX_ERRORTYPE SetConfig(
		OMX_INDEXTYPE aConfigIndex,
		const TAny* apComponentConfigStructure);

	OMX_ERRORTYPE GetExtensionIndex(
		OMX_STRING aParameterName,
		OMX_INDEXTYPE* apIndexType) const;

protected:

	COmxILPcmRendererConfigManager(COmxILPcmRendererProcessingFunction& aProcessingFunction);

	void ConstructL(const TDesC8& aComponentName,
					const OMX_VERSIONTYPE& aComponentVersion,
					const RPointerArray<TDesC8>& aComponentRoleList);

private:
	COmxILPcmRendererProcessingFunction& iProcessingFunction;
	};

#endif // OMXILPCMRENDERERCONFIGMANAGER_H