00001
00029 #ifndef __ST_STATIC_COMPONENT_LOADER_H__
00030 #define __ST_STATIC_COMPONENT_LOADER_H__
00031
00032 #include "omxcore.h"
00033 struct BOSA_COMPONENTLOADER * st_static_loader;
00034
00042 typedef struct stLoaderComponentType{
00043 OMX_VERSIONTYPE componentVersion;
00044 char* name;
00045 unsigned int name_specific_length;
00046 char** name_specific;
00047 char** role_specific;
00048 char* name_requested;
00049 OMX_ERRORTYPE (*constructor)(OMX_COMPONENTTYPE*,OMX_STRING cComponentName);
00050 } stLoaderComponentType;
00051
00054 void st_static_InitComponentLoader();
00055
00063 OMX_ERRORTYPE BOSA_ST_InitComponentLoader(BOSA_COMPONENTLOADER *loader);
00064
00069 OMX_ERRORTYPE BOSA_ST_DeInitComponentLoader(BOSA_COMPONENTLOADER *loader);
00070
00078 OMX_ERRORTYPE BOSA_ST_CreateComponent(
00079 BOSA_COMPONENTLOADER *loader,
00080 OMX_HANDLETYPE* pHandle,
00081 OMX_STRING cComponentName,
00082 OMX_PTR pAppData,
00083 OMX_CALLBACKTYPE* pCallBacks);
00084
00088 OMX_ERRORTYPE BOSA_ST_DestroyComponent(
00089 BOSA_COMPONENTLOADER *loader,
00090 OMX_HANDLETYPE hComponent);
00091
00097 OMX_ERRORTYPE BOSA_ST_ComponentNameEnum(
00098 BOSA_COMPONENTLOADER *loader,
00099 OMX_STRING cComponentName,
00100 OMX_U32 nNameLength,
00101 OMX_U32 nIndex);
00102
00109 OMX_ERRORTYPE BOSA_ST_GetRolesOfComponent(
00110 BOSA_COMPONENTLOADER *loader,
00111 OMX_STRING compName,
00112 OMX_U32 *pNumRoles,
00113 OMX_U8 **roles);
00114
00121 OMX_ERRORTYPE BOSA_ST_GetComponentsOfRole (
00122 BOSA_COMPONENTLOADER *loader,
00123 OMX_STRING role,
00124 OMX_U32 *pNumComps,
00125 OMX_U8 **compNames);
00126
00127 #endif