12 #define epicsExportSharedSymbols 17 namespace epics {
namespace pvCopy{
21 static PVPluginMap pluginMap;
24 void PVPluginRegistry::registerPlugin(
const std::string & name,
const PVPluginPtr & pvPlugin)
27 PVPluginMap::iterator iter = pluginMap.find(name);
28 if(iter!=pluginMap.end())
throw std::logic_error(
"plugin already registered");
29 pluginMap.insert(PVPluginMap::value_type(name,pvPlugin));
35 PVPluginMap::iterator iter = pluginMap.find(name);
36 if(iter!=pluginMap.end())
return (*iter).second;
std::map< std::string, PVPluginPtr > PVPluginMap
std::tr1::shared_ptr< PVPlugin > PVPluginPtr
TODO only here because of the Lockable.
A lock for multithreading.