diff options
| author | Zdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com> | 2009-04-08 13:44:35 +0200 |
|---|---|---|
| committer | Zdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com> | 2009-04-08 13:44:35 +0200 |
| commit | 234a905fe548f73f5e1df0db5b3490ae9b00a9d5 (patch) | |
| tree | 70dca16dbb78da5925a626890442b687b04a4f80 /lib/MiddleWare/PluginManager.cpp | |
| parent | 5c4a18fdd9795abaed59d3f5718d60cecde889ab (diff) | |
| download | abrt-234a905fe548f73f5e1df0db5b3490ae9b00a9d5.tar.gz abrt-234a905fe548f73f5e1df0db5b3490ae9b00a9d5.tar.xz abrt-234a905fe548f73f5e1df0db5b3490ae9b00a9d5.zip | |
renamed MW library
renamed Utils library
added check for plugins init method
renamed crash types
Diffstat (limited to 'lib/MiddleWare/PluginManager.cpp')
| -rw-r--r-- | lib/MiddleWare/PluginManager.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/MiddleWare/PluginManager.cpp b/lib/MiddleWare/PluginManager.cpp index 00c54fa..2f103f2 100644 --- a/lib/MiddleWare/PluginManager.cpp +++ b/lib/MiddleWare/PluginManager.cpp @@ -116,8 +116,19 @@ void CPluginManager::RegisterPlugin(const std::string& pName) { std::string path = m_sPlugisConfDir + "/" + pName + "." + PLUGINS_CONF_EXTENSION; CPlugin* plugin = m_mapABRTPlugins[pName]->PluginNew(); - plugin->Init(); - plugin->LoadSettings(path); + try + { + plugin->Init(); + plugin->LoadSettings(path); + } + catch (std::string sError) + { + std::cerr << "Can not initialize plugin " << pName << "(" + << plugin_type_str_t[m_mapABRTPlugins[pName]->GetType()] + << ")" << std::endl; + UnLoadPlugin(pName); + return; + } m_mapPlugins[pName] = plugin; std::cerr << "Registred plugin " << pName << "(" << plugin_type_str_t[m_mapABRTPlugins[pName]->GetType()] |
