Break dependency from lib to modules

This commit is contained in:
jfmcarreira committed 2018-01-18 20:50:38 +00:00
1 parent 06cdda6d8a
commit 0b1a537071
3 files changed
+62 -62

No files matched your search

+61
View File
@@ -81,6 +81,12 @@ Int PlaYUVerToolsCmdParser::parseToolsArgs( Int argc, Char* argv[] )
m_uiLogLevel = LOG_RESULT;
}
if( m_cOptions.hasOpt( "module_list" ) || m_cOptions.hasOpt( "module_list_full" ) )
{
listModules();
iRet = 1;
}
if( m_cOptions.hasOpt( "module" ) && m_cOptions.hasOpt( "help" ) )
{
listModuleHelp();
@@ -118,3 +124,58 @@ Void PlaYUVerToolsCmdParser::listModuleHelp()
pcCurrModuleIf->m_cModuleOptions.doHelp( std::cout );
}
}
Void PlaYUVerToolsCmdParser::listModules()
{
Bool bDetailed = false;
if( m_cOptions.hasOpt( "module_list_full" ) )
bDetailed = true;
PlaYUVerModuleIf* pcCurrModuleIf;
PlaYUVerModuleFactoryMap& PlaYUVerModuleFactoryMap = PlaYUVerModuleFactory::Get()->getMap();
PlaYUVerModuleFactoryMap::iterator it = PlaYUVerModuleFactoryMap.begin();
printf( "PlaYUVer available modules: \n" );
printf( " [Internal Name] " );
if( bDetailed )
{
printf( " [Full Name] " );
printf( " [Type] " );
printf( " [Description]" );
}
printf( " \n" );
Char ModuleNameString[40];
for( UInt i = 0; it != PlaYUVerModuleFactoryMap.end(); ++it, i++ )
{
printf( " " );
printf( "%-30s", it->first );
if( bDetailed )
{
ModuleNameString[0] = '\0';
pcCurrModuleIf = it->second();
if( pcCurrModuleIf->m_pchModuleCategory )
{
strcat( ModuleNameString, pcCurrModuleIf->m_pchModuleCategory );
strcat( ModuleNameString, "/" );
}
strcat( ModuleNameString, pcCurrModuleIf->m_pchModuleName );
printf( " %-40s", ModuleNameString );
switch( pcCurrModuleIf->m_iModuleType )
{
case FRAME_PROCESSING_MODULE:
printf( " Processing " );
break;
case FRAME_MEASUREMENT_MODULE:
printf( " Measurement " );
break;
}
printf( " %s", pcCurrModuleIf->m_pchModuleTooltip );
pcCurrModuleIf->Delete();
}
printf( "\n" );
}
}