diff options
-rw-r--r-- | lib/MiddleWare/ABRTPlugin.cpp | 6 | ||||
-rw-r--r-- | lib/MiddleWare/ABRTPlugin.h | 5 | ||||
-rw-r--r-- | lib/MiddleWare/Makefile.am | 4 | ||||
-rw-r--r-- | lib/MiddleWare/MiddleWare.cpp | 5 | ||||
-rw-r--r-- | lib/MiddleWare/MiddleWare.h | 8 | ||||
-rw-r--r-- | lib/MiddleWare/Plugin.h | 6 | ||||
-rw-r--r-- | lib/MiddleWare/PluginManager.cpp | 16 | ||||
-rw-r--r-- | lib/MiddleWare/PluginManager.h | 8 | ||||
-rw-r--r-- | lib/MiddleWare/test.cpp | 10 | ||||
-rw-r--r-- | lib/Plugins/Bugzilla.h | 3 | ||||
-rw-r--r-- | lib/Plugins/CCpp.h | 3 | ||||
-rw-r--r-- | lib/Plugins/FileTransfer.h | 3 | ||||
-rw-r--r-- | lib/Plugins/Kerneloops.h | 3 | ||||
-rw-r--r-- | lib/Plugins/KerneloopsReporter.h | 3 | ||||
-rw-r--r-- | lib/Plugins/KerneloopsScanner.h | 3 | ||||
-rw-r--r-- | lib/Plugins/Logger.h | 3 | ||||
-rw-r--r-- | lib/Plugins/Mailx.h | 3 | ||||
-rw-r--r-- | lib/Plugins/Makefile.am | 9 | ||||
-rw-r--r-- | lib/Plugins/Python.h | 3 | ||||
-rw-r--r-- | lib/Plugins/RunApp.h | 3 | ||||
-rw-r--r-- | lib/Plugins/SOSreport.h | 3 | ||||
-rw-r--r-- | lib/Plugins/SQLite3.h | 3 |
22 files changed, 90 insertions, 23 deletions
diff --git a/lib/MiddleWare/ABRTPlugin.cpp b/lib/MiddleWare/ABRTPlugin.cpp index 56e58b94..f2afa416 100644 --- a/lib/MiddleWare/ABRTPlugin.cpp +++ b/lib/MiddleWare/ABRTPlugin.cpp @@ -69,6 +69,12 @@ 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; diff --git a/lib/MiddleWare/ABRTPlugin.h b/lib/MiddleWare/ABRTPlugin.h index e585f2af..cdf72bb3 100644 --- a/lib/MiddleWare/ABRTPlugin.h +++ b/lib/MiddleWare/ABRTPlugin.h @@ -93,6 +93,11 @@ class CABRTPlugin */ 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 */ diff --git a/lib/MiddleWare/Makefile.am b/lib/MiddleWare/Makefile.am index 1023aa06..016d6ead 100644 --- a/lib/MiddleWare/Makefile.am +++ b/lib/MiddleWare/Makefile.am @@ -12,8 +12,8 @@ libABRTMiddleWare_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../Utils -I$(s check_PROGRAMS = test test_SOURCES = test.cpp -test_LDADD = ../Utils/libABRTUtils.la libABRTMiddleWare.la $(DL_LIBS) $(RPM_LIBS) -test_CPPFLAGS = -I$(srcdir)/../Utils \ +test_LDADD = ../Utils/libABRTUtils.la libABRTMiddleWare.la $(DL_LIBS) $(RPM_LIBS) ../CommLayer/libABRTCommLayer.la +test_CPPFLAGS = -I$(srcdir)/../Utils -I$(srcdir)/../../inc -I$(srcdir)/../CommLayer\ -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \ -DPLUGINS_CONF_DIR=\"$(PLUGINS_CONF_DIR)\" \ -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \ diff --git a/lib/MiddleWare/MiddleWare.cpp b/lib/MiddleWare/MiddleWare.cpp index f520189c..34b4391e 100644 --- a/lib/MiddleWare/MiddleWare.cpp +++ b/lib/MiddleWare/MiddleWare.cpp @@ -566,6 +566,11 @@ vector_pair_string_string_t CMiddleWare::GetUUIDsOfCrash(const std::string& pUID return UUIDsUIDs; } +map_string_string_t CMiddleWare::GetPluginInfo(const std::string& pName) +{ + return m_pPluginManager->GetPluginInfo(pName); +} + void CMiddleWare::SetOpenGPGCheck(const bool& pCheck) { m_bOpenGPGCheck = pCheck; diff --git a/lib/MiddleWare/MiddleWare.h b/lib/MiddleWare/MiddleWare.h index d0bc9f79..625e037e 100644 --- a/lib/MiddleWare/MiddleWare.h +++ b/lib/MiddleWare/MiddleWare.h @@ -287,7 +287,13 @@ class CMiddleWare * @return A vector of pairs (local UUID, UID). */ vector_pair_string_string_t GetUUIDsOfCrash(const std::string& pUID); - + /** + * A method, which gets all needed plugin info. It can be send via DBus + * to GUI and displayed to an user. + * @param pName A Name of plugin. + * @return A map <key, vaule> + */ + map_string_string_t GetPluginInfo(const std::string& pName); /** * A method, which set a GPG finger print check. * @param pCheck Is it enabled? diff --git a/lib/MiddleWare/Plugin.h b/lib/MiddleWare/Plugin.h index b6bfb3e5..ef107e3d 100644 --- a/lib/MiddleWare/Plugin.h +++ b/lib/MiddleWare/Plugin.h @@ -26,7 +26,7 @@ #include <string> #include <map> -#define PLUGINS_MAGIC_NUMBER 2 +#define PLUGINS_MAGIC_NUMBER 3 #define PLUGINS_CONF_EXTENSION "conf" #define PLUGINS_LIB_EXTENSION "so" @@ -81,12 +81,13 @@ typedef struct SPluginInfo const std::string m_sDescription; /**< Plugin description.*/ const std::string m_sEmail; /**< Plugin author's email.*/ const std::string m_sWWW; /**< Plugin's home page.*/ + const std::string m_sGTKBuilder; /**< Plugin's gui description.*/ const int m_nMagicNumber; /**< Plugin magical number.*/ } plugin_info_t; #define PLUGIN_IFACE extern "C" -#define PLUGIN_INFO(type, plugin_class, name, version, description, email, www)\ +#define PLUGIN_INFO(type, plugin_class, name, version, description, email, www, gtk_builder)\ PLUGIN_IFACE CPlugin* plugin_new()\ {\ return new plugin_class();\ @@ -99,6 +100,7 @@ typedef struct SPluginInfo description,\ email,\ www,\ + gtk_builder,\ PLUGINS_MAGIC_NUMBER,\ }; diff --git a/lib/MiddleWare/PluginManager.cpp b/lib/MiddleWare/PluginManager.cpp index 8ce32f45..9f8857a8 100644 --- a/lib/MiddleWare/PluginManager.cpp +++ b/lib/MiddleWare/PluginManager.cpp @@ -226,3 +226,19 @@ plugin_type_t CPluginManager::GetPluginType(const std::string& pName) return m_mapABRTPlugins[pName]->GetType(); } +map_string_string_t CPluginManager::GetPluginInfo(const std::string& pName) +{ + map_string_string_t ret; + if (m_mapABRTPlugins.find(pName) != m_mapABRTPlugins.end()) + { + ret["Type"] = plugin_type_str_t[m_mapABRTPlugins[pName]->GetType()]; + ret["Name"] = m_mapABRTPlugins[pName]->GetName(); + ret["Version"] = m_mapABRTPlugins[pName]->GetVersion(); + ret["Description"] = m_mapABRTPlugins[pName]->GetDescription(); + ret["Email"] = m_mapABRTPlugins[pName]->GetEmail(); + ret["WWW"] = m_mapABRTPlugins[pName]->GetWWW(); + ret["GTKBuilder"] = m_mapABRTPlugins[pName]->GetGTKBuilder(); + } + return ret; +} + diff --git a/lib/MiddleWare/PluginManager.h b/lib/MiddleWare/PluginManager.h index 2e2e7975..574c9ff7 100644 --- a/lib/MiddleWare/PluginManager.h +++ b/lib/MiddleWare/PluginManager.h @@ -31,6 +31,7 @@ #include "Reporter.h" #include "Database.h" #include "Action.h" +#include "MiddleWareTypes.h" /** * A class. It takes care of loading, registering and manipulating with @@ -130,6 +131,13 @@ class CPluginManager * @return A plugin type. */ plugin_type_t GetPluginType(const std::string& pName); + /** + * A method, which gets all needed plugin info. It can be send via DBus + * to GUI and displayed to an user. + * @param pName A Name of plugin. + * @return A map <key, vaule> + */ + map_string_string_t GetPluginInfo(const std::string& pName); }; #endif /*PLUGINMANAGER_H_*/ diff --git a/lib/MiddleWare/test.cpp b/lib/MiddleWare/test.cpp index 79cadd3e..94ea5cc4 100644 --- a/lib/MiddleWare/test.cpp +++ b/lib/MiddleWare/test.cpp @@ -34,6 +34,7 @@ int main(int argc, char** argv) if (argc < 2) { std::cerr << "Usage: " << argv[0] << " <DebugDumpDir>" << std::endl; + return -1; } try { @@ -46,9 +47,11 @@ int main(int argc, char** argv) middleWare.RegisterPlugin("SQLite3"); middleWare.SetDatabase("SQLite3"); middleWare.SetOpenGPGCheck(false); - middleWare.AddReporter("Logger"); - middleWare.AddAnalyzerReporter("CCpp", "Mailx"); - middleWare.AddAnalyzerAction("CCpp", "RunApp", "date"); + middleWare.AddActionOrReporter("Logger", ""); + middleWare.AddAnalyzerActionOrReporter("CCpp", "Mailx", ""); + middleWare.AddAnalyzerActionOrReporter("CCpp", "RunApp", "date"); + + std::cout << "Mailx GTKBuilder path: " << middleWare.GetPluginInfo("Mailx")["GTKBuilder"]; /* Try to save it into DB */ map_crash_info_t crashInfo; if (middleWare.SaveDebugDump(argv[1], crashInfo)) @@ -58,7 +61,6 @@ int main(int argc, char** argv) crashInfo[CD_EXECUTABLE][CD_CONTENT] << ", " << crashInfo[CD_COUNT][CD_CONTENT] << ", " << std::endl; - middleWare.Report(argv[1]); /* Get Report, so user can change data (remove private stuff) * If we do not want user interaction, just send data immediately */ diff --git a/lib/Plugins/Bugzilla.h b/lib/Plugins/Bugzilla.h index 88d5b179..cc01153d 100644 --- a/lib/Plugins/Bugzilla.h +++ b/lib/Plugins/Bugzilla.h @@ -47,7 +47,8 @@ PLUGIN_INFO(REPORTER, "Check if a bug isn't already reported in a bugzilla " "and if not, report it.", "zprikryl@redhat.com", - "https://fedorahosted.org/abrt/wiki"); + "https://fedorahosted.org/abrt/wiki", + PLUGINS_LIB_DIR"/Bugzilla.GTKBuilder"); #endif /* BUGZILLA_H_ */ diff --git a/lib/Plugins/CCpp.h b/lib/Plugins/CCpp.h index 1bdf230e..d60c9a41 100644 --- a/lib/Plugins/CCpp.h +++ b/lib/Plugins/CCpp.h @@ -58,6 +58,7 @@ PLUGIN_INFO(ANALYZER, "0.0.1", "Simple C/C++ analyzer plugin.", "zprikryl@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/abrt/wiki", + ""); #endif /* CCPP */ diff --git a/lib/Plugins/FileTransfer.h b/lib/Plugins/FileTransfer.h index 03e788d3..ad2aded8 100644 --- a/lib/Plugins/FileTransfer.h +++ b/lib/Plugins/FileTransfer.h @@ -62,7 +62,8 @@ PLUGIN_INFO(ACTION, "0.0.6", "Sends a report via FTP or SCTP", "dnovotny@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/crash-catcher/wiki", + ""); #endif /* FILETRANSFER_H_ */ diff --git a/lib/Plugins/Kerneloops.h b/lib/Plugins/Kerneloops.h index 00b4ea0e..6dc440f9 100644 --- a/lib/Plugins/Kerneloops.h +++ b/lib/Plugins/Kerneloops.h @@ -49,6 +49,7 @@ PLUGIN_INFO(ANALYZER, "0.0.2", "Abrt's Kerneloops plugin.", "anton@redhat.com", - "https://people.redhat.com/aarapov"); + "https://people.redhat.com/aarapov", + ""); #endif diff --git a/lib/Plugins/KerneloopsReporter.h b/lib/Plugins/KerneloopsReporter.h index dc01b533..aea774d8 100644 --- a/lib/Plugins/KerneloopsReporter.h +++ b/lib/Plugins/KerneloopsReporter.h @@ -51,6 +51,7 @@ PLUGIN_INFO(REPORTER, "0.0.1", "Sends the Kerneloops crash information to Kerneloopsoops.org", "anton@redhat.com", - "http://people.redhat.com/aarapov"); + "http://people.redhat.com/aarapov", + PLUGINS_LIB_DIR"/KerneloopsReporter.GTKBuilder"); #endif diff --git a/lib/Plugins/KerneloopsScanner.h b/lib/Plugins/KerneloopsScanner.h index f823d1fc..2f28239c 100644 --- a/lib/Plugins/KerneloopsScanner.h +++ b/lib/Plugins/KerneloopsScanner.h @@ -33,6 +33,7 @@ PLUGIN_INFO(ACTION, "0.0.1", "Save new Kerneloops crashes into debug dump dir", "anton@redhat.com", - "http://people.redhat.com/aarapov"); + "http://people.redhat.com/aarapov", + ""); #endif /* KERNELOOPSSCANNER_H_ */ diff --git a/lib/Plugins/Logger.h b/lib/Plugins/Logger.h index 62b6a1d1..07e7576d 100644 --- a/lib/Plugins/Logger.h +++ b/lib/Plugins/Logger.h @@ -46,6 +46,7 @@ PLUGIN_INFO(REPORTER, "0.0.1", "Write a report to a specific file", "zprikryl@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/abrt/wiki", + PLUGINS_LIB_DIR"/Logger.GTKBuilder"); #endif /* LOGGER_H_ */ diff --git a/lib/Plugins/Mailx.h b/lib/Plugins/Mailx.h index 2f5c343d..4235764e 100644 --- a/lib/Plugins/Mailx.h +++ b/lib/Plugins/Mailx.h @@ -54,6 +54,7 @@ PLUGIN_INFO(REPORTER, "0.0.2", "Sends an email with a report via mailx command", "zprikryl@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/abrt/wiki", + PLUGINS_LIB_DIR"/Mailx.GTKBuilder"); #endif /* MAILX_H_ */ diff --git a/lib/Plugins/Makefile.am b/lib/Plugins/Makefile.am index a67757f7..740b40f7 100644 --- a/lib/Plugins/Makefile.am +++ b/lib/Plugins/Makefile.am @@ -13,9 +13,12 @@ pluginslib_LTLIBRARIES = libCCpp.la \ libPython.la \ libFileTransfer.la +dist_pluginslib_DATA = KerneloopsReporter.GTKBuilder Logger.GTKBuilder Mailx.GTKBuilder Bugzilla.GTKBuilder + pluginsconfdir=$(PLUGINS_CONF_DIR) dist_pluginsconf_DATA = CCpp.conf Mailx.conf SQLite3.conf Logger.conf KerneloopsScanner.conf KerneloopsReporter.conf Bugzilla.conf FileTransfer.conf + man_MANS = abrt-FileTransfer.7 abrt-Bugzilla.7 abrt-KerneloopsReporter.7\ abrt-KerneloopsScanner.7 abrt-Logger.7 abrt-Mailx.7 abrt-plugins.7\ abrt-SQLite3.7 abrt-RunApp.7 @@ -42,7 +45,7 @@ libKerneloops_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(s libKerneloopsReporter_la_SOURCES = KerneloopsReporter.cpp KerneloopsReporter.h PluginSettings.h libKerneloopsReporter_la_LDFLAGS = -avoid-version libKerneloopsReporter_la_LIBADD = $(CURL_LIBS) -libKerneloopsReporter_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare $(CURL_CFLAGS) +libKerneloopsReporter_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare $(CURL_CFLAGS) -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # KerneloopsScanner libKerneloopsScanner_la_SOURCES = KerneloopsScanner.cpp KerneloopsScanner.h KerneloopsSysLog.cpp KerneloopsSysLog.h PluginSettings.h @@ -52,6 +55,7 @@ libKerneloopsScanner_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../in # Mailx libMailx_la_SOURCES = Mailx.cpp Mailx.h PluginSettings.h libMailx_la_LDFLAGS = -avoid-version +libMailx_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -I$(srcdir)/../CommLayer -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # SQLite3 libSQLite3_la_SOURCES = SQLite3.cpp SQLite3.h PluginSettings.h @@ -62,6 +66,7 @@ libSQLite3_la_CPPFLAGS = -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcd # Logger libLogger_la_SOURCES = Logger.cpp Logger.h PluginSettings.h libLogger_la_LDFLAGS = -avoid-version +libLogger_la_CPPFLAGS = -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -I$(srcdir)/../CommLayer -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # RunApp libRunApp_la_SOURCES = RunApp.h RunApp.cpp @@ -75,7 +80,7 @@ libSOSreport_la_LDFLAGS = -avoid-version libBugzilla_la_SOURCES = Bugzilla.h Bugzilla.cpp PluginSettings.h libBugzilla_la_LIBADD = $(XMLRPC_CPP_LIBS) $(XMLRPC_CLIENT_CPP_LIBS) $(NSS_LIBS) libBugzilla_la_LDFLAGS = -avoid-version -libBugzilla_la_CPPFLAGS = $(XMLRPC_CPP_CFLAGS) $(XMLRPC_CLIENT_CPP_CFLAGS) $(NSS_CFLAGS) -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils +libBugzilla_la_CPPFLAGS = $(XMLRPC_CPP_CFLAGS) $(XMLRPC_CLIENT_CPP_CFLAGS) $(NSS_CFLAGS) -I$(srcdir)/../CommLayer -I$(srcdir)/../../inc -I$(srcdir)/../MiddleWare -I$(srcdir)/../Utils -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" # Python libPython_la_SOURCES = Python.h Python.cpp diff --git a/lib/Plugins/Python.h b/lib/Plugins/Python.h index 3c23e08b..62a43222 100644 --- a/lib/Plugins/Python.h +++ b/lib/Plugins/Python.h @@ -24,7 +24,8 @@ PLUGIN_INFO(ANALYZER, "0.0.1", "Simple Python analyzer plugin.", "zprikryl@redhat.com, jmoskovc@redhat.com", - "https://fedorahosted.org/abrt/wiki"); + "https://fedorahosted.org/abrt/wiki", + ""); #endif /* PYTHON_H_ */ diff --git a/lib/Plugins/RunApp.h b/lib/Plugins/RunApp.h index bbefc0a0..839992b0 100644 --- a/lib/Plugins/RunApp.h +++ b/lib/Plugins/RunApp.h @@ -45,6 +45,7 @@ PLUGIN_INFO(ACTION, "Simple action plugin which runs a command " "and it can save command's output", "zprikryl@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/abrt/wiki", + ""); #endif diff --git a/lib/Plugins/SOSreport.h b/lib/Plugins/SOSreport.h index f08cd8ce..d70494ad 100644 --- a/lib/Plugins/SOSreport.h +++ b/lib/Plugins/SOSreport.h @@ -44,6 +44,7 @@ PLUGIN_INFO(ACTION, "0.0.2", "Run sosreport, save the output in the crash dump", "gavin@redhat.com", - "https://fedorahosted.org/abrt/wiki"); + "https://fedorahosted.org/abrt/wiki", + ""); #endif diff --git a/lib/Plugins/SQLite3.h b/lib/Plugins/SQLite3.h index 2280f332..e283e3c0 100644 --- a/lib/Plugins/SQLite3.h +++ b/lib/Plugins/SQLite3.h @@ -67,6 +67,7 @@ PLUGIN_INFO(DATABASE, "0.0.1", "SQLite3 database plugin.", "zprikryl@redhat.com,jmoskovc@redhat.com", - "https://fedorahosted.org/crash-catcher/wiki"); + "https://fedorahosted.org/abrt/wiki", + ""); #endif /* SQLITE3_H_ */ |