Finish the dynamic loading of modules

This commit is contained in:
jfmcarreira committed 2015-07-29 18:58:37 +01:00
1 parent 04300cc655
commit f9ab02629a
4 files changed
+17 -9

No files matched your search

+8 -3
View File
@@ -61,17 +61,22 @@ Void PlaYUVerModuleFactory::Register( const char* moduleName, CreateModuleFn pfn
m_FactoryMap[moduleName] = pfnCreate;
}
Void PlaYUVerModuleFactory::RegisterDl( const char* dlName )
Bool PlaYUVerModuleFactory::RegisterDl( const char* dlName )
{
void *pHndl = dlopen( dlName, RTLD_NOW );
if( pHndl == NULL )
{
std::cerr << dlerror()
<< std::endl;
exit( -1 );
return false;
}
CreateModuleFn pfnCreate = ( CreateModuleFn )dlsym( pHndl, "Maker" );
if( pfnCreate == NULL )
{
return false;
}
CreateModuleFn pfnCreate = (CreateModuleFn) dlsym( pHndl, "CreateModule" );
Register( dlName, pfnCreate );
return true;
}
PlaYUVerModuleIf *PlaYUVerModuleFactory::CreateModule( const char* moduleName )