diff -r 000000000000 -r 40261b775718 omxil/omxilcomponentcommon/src/common/omxilcomponent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omxil/omxilcomponentcommon/src/common/omxilcomponent.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,165 @@ +// 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 OMXILCOMPONENT_H +#define OMXILCOMPONENT_H + +#include +#include + + +// forward declarations +class COmxILFsm; +class COmxILConfigManager; +class MOmxILCallbackManagerIf; +class COmxILPortManager; +class COmxILProcessingFunction; + + +class COmxILComponent : public CBase + { + +public: + + IMPORT_C virtual ~COmxILComponent(); + + static OMX_ERRORTYPE GetComponentVersion( + OMX_HANDLETYPE aComponent, + OMX_STRING aComponentName, + OMX_VERSIONTYPE* apComponentVersion, + OMX_VERSIONTYPE* apSpecVersion, + OMX_UUIDTYPE* apComponentUUID); + + static OMX_ERRORTYPE SendCommand( + OMX_HANDLETYPE aComponent, + OMX_COMMANDTYPE aCmd, + OMX_U32 aParam1, + OMX_PTR aCmdData); + + static OMX_ERRORTYPE GetParameter( + OMX_HANDLETYPE aComponent, + OMX_INDEXTYPE aParamIndex, + OMX_PTR aComponentParameterStructure); + + static OMX_ERRORTYPE SetParameter( + OMX_HANDLETYPE aComponent, + OMX_INDEXTYPE aIndex, + OMX_PTR aComponentParameterStructure); + + static OMX_ERRORTYPE GetConfig( + OMX_HANDLETYPE aComponent, + OMX_INDEXTYPE aIndex, + OMX_PTR aComponentConfigStructure); + + static OMX_ERRORTYPE SetConfig( + OMX_HANDLETYPE aComponent, + OMX_INDEXTYPE aIndex, + OMX_PTR aComponentConfigStructure); + + static OMX_ERRORTYPE GetExtensionIndex( + OMX_HANDLETYPE aComponent, + OMX_STRING aParameterName, + OMX_INDEXTYPE* aIndexType); + + static OMX_ERRORTYPE GetState( + OMX_HANDLETYPE aComponent, + OMX_STATETYPE* aState); + + static OMX_ERRORTYPE ComponentTunnelRequest( + OMX_HANDLETYPE aComp, + OMX_U32 aPort, + OMX_HANDLETYPE aTunneledComp, + OMX_U32 aTunneledPort, + OMX_TUNNELSETUPTYPE* aTunnelSetup); + + static OMX_ERRORTYPE UseBuffer( + OMX_HANDLETYPE aComponent, + OMX_BUFFERHEADERTYPE** appBufferHdr, + OMX_U32 aPortIndex, + OMX_PTR apAppPrivate, + OMX_U32 aSizeBytes, + OMX_U8* aBuffer); + + static OMX_ERRORTYPE AllocateBuffer( + OMX_HANDLETYPE aComponent, + OMX_BUFFERHEADERTYPE** apBuffer, + OMX_U32 aPortIndex, + OMX_PTR aAppData, + OMX_U32 aSizeBytes); + + static OMX_ERRORTYPE FreeBuffer( + OMX_HANDLETYPE aComponent, + OMX_U32 aPortIndex, + OMX_BUFFERHEADERTYPE* aBuffer); + + static OMX_ERRORTYPE EmptyThisBuffer( + OMX_HANDLETYPE aComponent, + OMX_BUFFERHEADERTYPE* aBuffer); + + static OMX_ERRORTYPE FillThisBuffer( + OMX_HANDLETYPE aComponent, + OMX_BUFFERHEADERTYPE* aBuffer); + + static OMX_ERRORTYPE SetCallbacks( + OMX_HANDLETYPE aComponent, + OMX_CALLBACKTYPE* aCallbacks, + OMX_PTR aAppData); + + static OMX_ERRORTYPE ComponentDeInit( + OMX_HANDLETYPE aComponent); + + static OMX_ERRORTYPE UseEGLImage( + OMX_HANDLETYPE aComponent, + OMX_BUFFERHEADERTYPE** appBufferHdr, + OMX_U32 aPortIndex, + OMX_PTR aAppPrivate, + void* eglImage); + + static OMX_ERRORTYPE ComponentRoleEnum( + OMX_HANDLETYPE aComponent, + OMX_U8* aRole, + OMX_U32 aIndex); + + IMPORT_C static OMX_ERRORTYPE SymbianErrorToGetHandleError(TInt aSymbianError); + +protected: + + IMPORT_C COmxILComponent(); + + IMPORT_C void InitComponentL(); + +protected: + + RBuf8 iComponentName; + + OMX_COMPONENTTYPE* ipHandle; + OMX_PTR ipAppData; + OMX_CALLBACKTYPE* ipCallbacks; + + COmxILFsm* ipFsm; + COmxILConfigManager* ipConfigManager; + MOmxILCallbackManagerIf* ipCallbackManager; + COmxILPortManager* ipPortManager; + COmxILProcessingFunction* ipProcessingFunction; + + }; + +#endif // OMXILCOMPONENT_H