summaryrefslogtreecommitdiffstats
path: root/src/Daemon/ABRTPlugin.cpp
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-08-06 16:13:53 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-08-06 16:13:53 +0200
commitb64e1671afd1cd1c25604ffb3bf6f681a864b639 (patch)
tree51b5cc057650a469b267f1689ee1e546abd33cf3 /src/Daemon/ABRTPlugin.cpp
parent26c6665308b5a99d02308099118b23b2716dacc0 (diff)
downloadabrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.tar.gz
abrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.tar.xz
abrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.zip
move lib/MiddleWare/{ABRTPlugin,DynamicLibrary}.* to src/Daemon/
Diffstat (limited to 'src/Daemon/ABRTPlugin.cpp')
-rw-r--r--src/Daemon/ABRTPlugin.cpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/Daemon/ABRTPlugin.cpp b/src/Daemon/ABRTPlugin.cpp
new file mode 100644
index 00000000..f2afa416
--- /dev/null
+++ b/src/Daemon/ABRTPlugin.cpp
@@ -0,0 +1,86 @@
+/*
+ ABRTPlugin.cpp
+
+ Copyright (C) 2009 Zdenek Prikryl (zprikryl@redhat.com)
+ Copyright (C) 2009 RedHat inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "ABRTPlugin.h"
+
+CABRTPlugin::CABRTPlugin(const std::string& pLibPath) :
+ m_pDynamicLibrary(NULL),
+ m_pPluginInfo(NULL),
+ m_pFnPluginNew(NULL)
+{
+ m_pDynamicLibrary = new CDynamicLibrary(pLibPath);
+ m_pPluginInfo = reinterpret_cast<p_plugin_info_t>(m_pDynamicLibrary->FindSymbol("plugin_info"));
+ m_pFnPluginNew = reinterpret_cast<p_fn_plugin_new_t>(m_pDynamicLibrary->FindSymbol("plugin_new"));
+}
+
+CABRTPlugin::~CABRTPlugin()
+{
+ if (m_pDynamicLibrary != NULL)
+ {
+ delete m_pDynamicLibrary;
+ }
+}
+
+const std::string& CABRTPlugin::GetVersion()
+{
+ return m_pPluginInfo->m_sVersion;
+}
+
+const int CABRTPlugin::GetMagicNumber()
+{
+ return m_pPluginInfo->m_nMagicNumber;
+}
+
+const std::string& CABRTPlugin::GetName()
+{
+ return m_pPluginInfo->m_sName;
+}
+
+const std::string& CABRTPlugin::GetDescription()
+{
+ return m_pPluginInfo->m_sDescription;
+}
+
+const std::string& CABRTPlugin::GetEmail()
+{
+ return m_pPluginInfo->m_sEmail;
+}
+
+const std::string& CABRTPlugin::GetWWW()
+{
+ return m_pPluginInfo->m_sWWW;
+}
+
+const std::string& CABRTPlugin::GetGTKBuilder()
+{
+ return m_pPluginInfo->m_sGTKBuilder;
+}
+
+
+const plugin_type_t CABRTPlugin::GetType()
+{
+ return m_pPluginInfo->m_Type;
+}
+
+CPlugin* CABRTPlugin::PluginNew()
+{
+ return m_pFnPluginNew();
+}