diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-08-06 16:13:53 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-08-06 16:13:53 +0200 |
commit | b64e1671afd1cd1c25604ffb3bf6f681a864b639 (patch) | |
tree | 51b5cc057650a469b267f1689ee1e546abd33cf3 /lib/MiddleWare | |
parent | 26c6665308b5a99d02308099118b23b2716dacc0 (diff) | |
download | abrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.tar.gz abrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.tar.xz abrt-b64e1671afd1cd1c25604ffb3bf6f681a864b639.zip |
move lib/MiddleWare/{ABRTPlugin,DynamicLibrary}.* to src/Daemon/
Diffstat (limited to 'lib/MiddleWare')
-rw-r--r-- | lib/MiddleWare/ABRTPlugin.cpp | 86 | ||||
-rw-r--r-- | lib/MiddleWare/ABRTPlugin.h | 113 | ||||
-rw-r--r-- | lib/MiddleWare/DynamicLibrary.cpp | 59 | ||||
-rw-r--r-- | lib/MiddleWare/DynamicLibrary.h | 62 | ||||
-rw-r--r-- | lib/MiddleWare/Makefile.am | 2 |
5 files changed, 0 insertions, 322 deletions
diff --git a/lib/MiddleWare/ABRTPlugin.cpp b/lib/MiddleWare/ABRTPlugin.cpp deleted file mode 100644 index f2afa416..00000000 --- a/lib/MiddleWare/ABRTPlugin.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - 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(); -} diff --git a/lib/MiddleWare/ABRTPlugin.h b/lib/MiddleWare/ABRTPlugin.h deleted file mode 100644 index cdf72bb3..00000000 --- a/lib/MiddleWare/ABRTPlugin.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - ABRTPlugin.h - header file for abrt plugin. - - 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. - */ - - -#ifndef ABRTPLUGIN_H_ -#define ABRTPLUGIN_H_ - -#include <string> -#include "DynamicLibrary.h" -#include "Plugin.h" - -/** - * CABRTPlugin class. A class which contains a loaded plugin. - */ -class CABRTPlugin -{ - private: - - typedef const plugin_info_t* p_plugin_info_t; - typedef CPlugin* (*p_fn_plugin_new_t)(); - - /** - * A class containing library which contains plugin functionality. - * @see DynamicLibrary.h - */ - CDynamicLibrary* m_pDynamicLibrary; - /** - * A pointer to struc containing information about plugin. - */ - p_plugin_info_t m_pPluginInfo; - /** - * A pointer to function, which creates new instances of plugin. - */ - p_fn_plugin_new_t m_pFnPluginNew; - - public: - /** - * A constructor. - * The constructor loads a plugin - * @param pLibPath a path to a plugin - */ - CABRTPlugin(const std::string& pLibPath); - /** - * A destructor. - */ - ~CABRTPlugin(); - /** - * It is used for getting loaded plugin's version. - * @return plugin version - */ - const std::string& GetVersion(); - /** - * It is used for getting loaded plugin's magic number. - * @return magic number - */ - const int GetMagicNumber(); - /** - * It is used for getting loaded plugin's name. - * @return magic number - */ - const std::string& GetName(); - /** - * It is used for getting loaded plugin's description. - * @return magic number - */ - const std::string& GetDescription(); - /** - * It is used for getting an author email of loaded plugin. - * @return description - */ - const std::string& GetEmail(); - /** - * It is used for getting a home page of loaded plugin. - * @return home page - */ - const std::string& GetWWW(); - /** - * It is used for getting a path to gui description. - * @return home page - */ - const std::string& GetGTKBuilder(); - /** - * It is used for getting loaded plugin's type. - * @return type - */ - const plugin_type_t GetType(); - /** - * It is used fot getting of a new instance of loaded plugin - * @return pointer to new allocated instance of plugin. A caller - * has to delete it. - */ - CPlugin* PluginNew(); -}; - -#endif /*ABRTPLUGIN_H_*/ diff --git a/lib/MiddleWare/DynamicLibrary.cpp b/lib/MiddleWare/DynamicLibrary.cpp deleted file mode 100644 index ffb2a6e4..00000000 --- a/lib/MiddleWare/DynamicLibrary.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - DynamicLybrary.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 "DynamicLibrary.h" -#include "ABRTException.h" -#include <iostream> -#include <dlfcn.h> - -CDynamicLibrary::CDynamicLibrary(const std::string& pPath) : - m_pHandle(NULL) -{ - Load(pPath); -} - -CDynamicLibrary::~CDynamicLibrary() -{ - if (m_pHandle != NULL) - { - dlclose(m_pHandle); - m_pHandle = NULL; - } -} - -void CDynamicLibrary::Load(const std::string& pPath) -{ - m_pHandle = dlopen(pPath.c_str(), RTLD_NOW); - if (m_pHandle == NULL) - { - throw CABRTException(EXCEP_DL, "CDynamicLibrary::Load(): Cannot load " + pPath + " : " + std::string(dlerror())); - } -} - -void* CDynamicLibrary::FindSymbol(const std::string& pName) -{ - void* sym = dlsym(m_pHandle, pName.c_str()); - if (sym == NULL) - { - throw CABRTException(EXCEP_DL, "CDynamicLibrary::Load(): Cannot find symbol '" + pName + "'"); - } - return sym; -} diff --git a/lib/MiddleWare/DynamicLibrary.h b/lib/MiddleWare/DynamicLibrary.h deleted file mode 100644 index f3a95f5d..00000000 --- a/lib/MiddleWare/DynamicLibrary.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - DynamicLybrary.h - header file for dynamic lybrarby wraper. It uses libdl. - - 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. - */ - - -#ifndef DYNAMICLIBRARYH_ -#define DYNAMICLIBRARYH_ - -#include <string> - -/** - * A class. It contains one dynamic library. - */ -class CDynamicLibrary -{ - private: - /** - * A pointer to library. - */ - void* m_pHandle; - /** - * A method, which loads a library. - * @param pPath A path to the library. - */ - void Load(const std::string& pPath); - public: - /** - * A constructor. - * @param pPath A path to the library. - */ - CDynamicLibrary(const std::string& pPath); - /** - * A destructor. - */ - ~CDynamicLibrary(); - /** - * A method, which tries to find a symbol in a library. If it successes - * then a non-NULL pointer is returned, otherwise NULL is returned. - * @param pName A symbol name. - * @return A pointer where a symbol name is loaded. - */ - void* FindSymbol(const std::string& pName); -}; - -#endif /*DYNAMICLIBRARYH_*/ diff --git a/lib/MiddleWare/Makefile.am b/lib/MiddleWare/Makefile.am index b84dcba1..8fbb4060 100644 --- a/lib/MiddleWare/Makefile.am +++ b/lib/MiddleWare/Makefile.am @@ -1,8 +1,6 @@ lib_LTLIBRARIES = libABRTMiddleWare.la libABRTMiddleWare_la_SOURCES = \ - ABRTPlugin.cpp ABRTPlugin.h \ - DynamicLibrary.cpp DynamicLibrary.h \ RPM.cpp RPM.h \ Plugin.h MiddleWareTypes.h Action.h Database.h \ Reporter.h Analyzer.h |