{
Gaudi::PluginService::Details::Registry ® =
std::map<key_type, std::string> loaded;
{
std::set<key_type> base = reg.loadedFactories();
for (std::set<key_type>::const_iterator f = base.begin(); f != base.end(); ++f)
{
loaded.insert(std::make_pair(*f, std::string("<preloaded>")));
}
}
if (dlopen(
argv[
i], RTLD_LAZY | RTLD_LOCAL)) {
std::set<key_type>
factories = reg.loadedFactories();
std::set<key_type>::const_iterator f;
for (f = factories.begin(); f != factories.end(); ++f) {
if (loaded.find(*f) == loaded.end())
{
std::cout <<
argv[
i] <<
":" << *f << std::endl;
}
else
std::cerr << "WARNING: factory '" << *f
<< "' already found in " << loaded[*f]
<< std::endl;
}
} else {
std::cerr <<
"ERROR: failed to load " <<
argv[
i] << std::endl;
return EXIT_FAILURE;
}
}
return EXIT_SUCCESS;
}