examples/sfexamples/oggvorbiscodec/src/omx/OmxImpl.h

00001 // OmxImpl.h
00002 //
00003 // Copyright (c) 2006 Symbian Software Ltd. All rights reserved.
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 //      static COmxComponentImpl* NewL(OMX_HANDLETYPE hComponent);      
00021         //void CreateHandle(OMX_HANDLETYPE hComponent);
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

Generated by  doxygen 1.6.2