00001
00002
00003
00004
00005
00006 #ifndef OMXIMPL_H
00007 #define OMXIMPL_H
00008
00009 #include <stdio.h>
00010 #include <e32base.h>
00011 #include <OMX_Component.h>
00012
00013
00014 class COmxComponentImpl : public CBase
00015 {
00016 public:
00017 COmxComponentImpl(OMX_HANDLETYPE hComponent);
00018 virtual ~COmxComponentImpl();
00019
00020
00021
00022
00023 virtual OMX_ERRORTYPE GetComponentVersion(
00024 OMX_STRING pComponentName,
00025 OMX_VERSIONTYPE* pComponentVersion,
00026 OMX_VERSIONTYPE* pSpecVersion,
00027 OMX_UUIDTYPE* pComponentUUID)=0;
00028
00029 virtual OMX_ERRORTYPE SendCommand(
00030 OMX_COMMANDTYPE Cmd,
00031 TUint32 nParam1,
00032 TAny* pCmdData)=0;
00033 virtual OMX_ERRORTYPE GetParameter(
00034 OMX_INDEXTYPE nParamIndex,
00035 TAny* ComponentParameterStructure)=0;
00036 virtual OMX_ERRORTYPE SetParameter(
00037 OMX_INDEXTYPE nIndex,
00038 TAny* ComponentParameterStructure)=0;
00039 virtual OMX_ERRORTYPE GetConfig(
00040 OMX_INDEXTYPE nIndex,
00041 TAny* value)=0;
00042 virtual OMX_ERRORTYPE SetConfig(
00043 OMX_INDEXTYPE nIndex,
00044 TAny* value)=0;
00045 virtual OMX_ERRORTYPE GetExtensionIndex(
00046 OMX_STRING ParameterName,
00047 OMX_INDEXTYPE* pIndexType)=0;
00048 virtual OMX_ERRORTYPE GetState(
00049 OMX_STATETYPE* pState)=0;
00050 virtual OMX_ERRORTYPE ComponentTunnelRequest(
00051 OMX_HANDLETYPE hInput,
00052 TUint32 nPortInput,
00053 OMX_HANDLETYPE hOutput,
00054 TUint32 nPortOutput,
00055 OMX_TUNNELSETUPTYPE* pTunnelSetup) = 0;
00056 virtual OMX_ERRORTYPE UseBuffer(
00057 OMX_BUFFERHEADERTYPE** ppBufferHdr,
00058 TUint32 nPortIndex,
00059 TAny* pAppPrivate,
00060 TUint32 nSizeBytes,
00061 TUint8* pBuffer)=0;
00062 virtual OMX_ERRORTYPE AllocateBuffer(
00063 OMX_BUFFERHEADERTYPE** pBuffer,
00064 TUint32 nPortIndex,
00065 TAny* pAppData,
00066 TUint32 nSizeBytes)=0;
00067 virtual OMX_ERRORTYPE FreeBuffer(
00068 TUint32 nPortIndex,
00069 OMX_BUFFERHEADERTYPE* pBuffer)=0;
00070 virtual OMX_ERRORTYPE EmptyThisBuffer(
00071 OMX_BUFFERHEADERTYPE* pBuffer)=0;
00072 virtual OMX_ERRORTYPE FillThisBuffer(
00073 OMX_BUFFERHEADERTYPE* pBuffer)=0;
00074 virtual OMX_ERRORTYPE SetCallbacks(
00075 OMX_CALLBACKTYPE* pCallbacks,
00076 TAny* pAppData)=0;
00077
00078 operator OMX_HANDLETYPE();
00079
00080 private:
00081 OMX_COMPONENTTYPE* iHandle;
00082 };
00083
00084
00085 #endif // OMXIMPL_H