summaryrefslogtreecommitdiffstats
path: root/src/Daemon/CommLayerServerDBus.cpp
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-08-25 15:31:42 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-08-25 15:31:42 +0200
commitfacd7083bc1c5f097b7d6795780670644ccfbb1f (patch)
tree80b633429bd29dba7a49f8e37d57dfef96833654 /src/Daemon/CommLayerServerDBus.cpp
parentfebce6de166c50a55eb0cba05cff385a9ca4a917 (diff)
downloadabrt-facd7083bc1c5f097b7d6795780670644ccfbb1f.tar.gz
abrt-facd7083bc1c5f097b7d6795780670644ccfbb1f.tar.xz
abrt-facd7083bc1c5f097b7d6795780670644ccfbb1f.zip
eliminate one-use class CDBusServer_adaptor
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/Daemon/CommLayerServerDBus.cpp')
-rw-r--r--src/Daemon/CommLayerServerDBus.cpp177
1 files changed, 157 insertions, 20 deletions
diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp
index 7796bac6..db78cd38 100644
--- a/src/Daemon/CommLayerServerDBus.cpp
+++ b/src/Daemon/CommLayerServerDBus.cpp
@@ -19,6 +19,7 @@ DBus::Connection *CCommLayerServerDBus::init_dbus(CCommLayerServerDBus *self)
CCommLayerServerDBus::CCommLayerServerDBus()
:
+ DBus::InterfaceAdaptor(CC_DBUS_IFACE),
DBus::ObjectAdaptor(*init_dbus(this), CC_DBUS_PATH)
{
try
@@ -33,6 +34,16 @@ CCommLayerServerDBus::CCommLayerServerDBus()
+ " * you have reloaded the dbus\n"+
+ "Original exception was:\n " + err.what());
}
+ register_method(CCommLayerServerDBus, GetCrashInfos, _GetCrashInfos_stub);
+ register_method(CCommLayerServerDBus, CreateReport, _CreateReport_stub);
+ register_method(CCommLayerServerDBus, Report, _Report_stub);
+ register_method(CCommLayerServerDBus, DeleteDebugDump, _DeleteDebugDump_stub);
+ register_method(CCommLayerServerDBus, GetJobResult, _GetJobResult_stub);
+ register_method(CCommLayerServerDBus, GetPluginsInfo, _GetPluginsInfo_stub);
+ register_method(CCommLayerServerDBus, GetPluginSettings, _GetPluginSettings_stub);
+ register_method(CCommLayerServerDBus, SetPluginSettings, _SetPluginSettings_stub);
+ register_method(CCommLayerServerDBus, RegisterPlugin, _RegisterPlugin_stub);
+ register_method(CCommLayerServerDBus, UnRegisterPlugin, _UnRegisterPlugin_stub);
}
CCommLayerServerDBus::~CCommLayerServerDBus()
@@ -44,6 +55,18 @@ CCommLayerServerDBus::~CCommLayerServerDBus()
* DBus call handlers
*/
+/* unmarshaler (non-virtual private function) */
+DBus::Message CCommLayerServerDBus::_GetCrashInfos_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ //FIXME: @@@REMOVE!!
+ vector_crash_infos_t argout1 = GetCrashInfos(call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << argout1;
+ return reply;
+}
+/* handler (public function) */
vector_crash_infos_t CCommLayerServerDBus::GetCrashInfos(const std::string &pSender)
{
vector_crash_infos_t crashInfos;
@@ -51,16 +74,21 @@ vector_crash_infos_t CCommLayerServerDBus::GetCrashInfos(const std::string &pSen
crashInfos = m_pObserver->GetCrashInfos(to_string(unix_uid));
return crashInfos;
}
-//FIXME: fix CLI and remove this
-/*
-map_crash_report_t CCommLayerServerDBus::CreateReport(const std::string &pUUID,const std::string &pSender)
+
+DBus::Message CCommLayerServerDBus::_CreateReport_stub(const DBus::CallMessage &call)
{
- unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
- map_crash_report_t crashReport;
- crashReport = m_pObserver->CreateReport(pUUID, to_string(unix_uid));
- return crashReport;
+ DBus::MessageIter ri = call.reader();
+
+ std::string argin1;
+ ri >> argin1;
+ uint64_t argout1 = CreateReport_t(argin1, call.sender());
+ if (sizeof (uint64_t) != 8) abort ();
+ //map_crash_report_t argout1 = CreateReport(argin1,call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << argout1;
+ return reply;
}
-*/
uint64_t CCommLayerServerDBus::CreateReport_t(const std::string &pUUID,const std::string &pSender)
{
unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
@@ -69,6 +97,18 @@ uint64_t CCommLayerServerDBus::CreateReport_t(const std::string &pUUID,const std
return job_id;
}
+DBus::Message CCommLayerServerDBus::_Report_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+
+ map_crash_report_t argin1;
+ ri >> argin1;
+ report_status_t argout1 = Report(argin1, call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << argout1;
+ return reply;
+}
report_status_t CCommLayerServerDBus::Report(const map_crash_report_t& pReport, const std::string &pSender)
{
report_status_t rs;
@@ -77,6 +117,18 @@ report_status_t CCommLayerServerDBus::Report(const map_crash_report_t& pReport,
return rs;
}
+DBus::Message CCommLayerServerDBus::_DeleteDebugDump_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+
+ std::string argin1;
+ ri >> argin1;
+ bool argout1 = DeleteDebugDump(argin1, call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << argout1;
+ return reply;
+}
bool CCommLayerServerDBus::DeleteDebugDump(const std::string& pUUID, const std::string& pSender)
{
unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
@@ -84,6 +136,17 @@ bool CCommLayerServerDBus::DeleteDebugDump(const std::string& pUUID, const std::
return true;
}
+DBus::Message CCommLayerServerDBus::_GetJobResult_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ uint64_t job_id;
+ ri >> job_id;
+ map_crash_report_t report = GetJobResult(job_id, call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << report;
+ return reply;
+}
map_crash_report_t CCommLayerServerDBus::GetJobResult(uint64_t pJobID, const std::string& pSender)
{
unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
@@ -92,6 +155,15 @@ map_crash_report_t CCommLayerServerDBus::GetJobResult(uint64_t pJobID, const std
return crashReport;
}
+DBus::Message CCommLayerServerDBus::_GetPluginsInfo_stub(const DBus::CallMessage &call)
+{
+ vector_map_string_string_t plugins_info;
+ plugins_info = GetPluginsInfo();
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << plugins_info;
+ return reply;
+}
vector_map_string_string_t CCommLayerServerDBus::GetPluginsInfo()
{
//FIXME: simplify?
@@ -100,23 +172,67 @@ vector_map_string_string_t CCommLayerServerDBus::GetPluginsInfo()
return plugins_info;
}
+DBus::Message CCommLayerServerDBus::_GetPluginSettings_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ std::string PluginName;
+ std::string uid;
+ ri >> PluginName;
+ map_plugin_settings_t plugin_settings;
+ plugin_settings = GetPluginSettings(PluginName, call.sender());
+ DBus::ReturnMessage reply(call);
+ DBus::MessageIter wi = reply.writer();
+ wi << plugin_settings;
+ return reply;
+}
map_plugin_settings_t CCommLayerServerDBus::GetPluginSettings(const std::string& pName, const std::string& pSender)
{
unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
return m_pObserver->GetPluginSettings(pName, to_string(unix_uid));
}
+DBus::Message CCommLayerServerDBus::_SetPluginSettings_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ std::string PluginName;
+ map_plugin_settings_t plugin_settings;
+ ri >> PluginName;
+ ri >> plugin_settings;
+ SetPluginSettings(PluginName, call.sender(), plugin_settings);
+ DBus::ReturnMessage reply(call);
+ return reply;
+}
void CCommLayerServerDBus::SetPluginSettings(const std::string& pName, const std::string& pSender, const map_plugin_settings_t& pSettings)
{
unsigned long unix_uid = m_pConn->sender_unix_uid(pSender.c_str());
return m_pObserver->SetPluginSettings(pName, to_string(unix_uid), pSettings);
}
+DBus::Message CCommLayerServerDBus::_RegisterPlugin_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ std::string PluginName;
+ ri >> PluginName;
+ RegisterPlugin(PluginName);
+ DBus::ReturnMessage reply(call);
+ //DBus::MessageIter wi = reply.writer();
+ //wi << plugin_settings;
+ return reply;
+}
void CCommLayerServerDBus::RegisterPlugin(const std::string& pName)
{
return m_pObserver->RegisterPlugin(pName);
}
+DBus::Message CCommLayerServerDBus::_UnRegisterPlugin_stub(const DBus::CallMessage &call)
+{
+ DBus::MessageIter ri = call.reader();
+ std::string PluginName;
+ ri >> PluginName;
+ UnRegisterPlugin(PluginName);
+ DBus::ReturnMessage reply(call);
+ return reply;
+}
void CCommLayerServerDBus::UnRegisterPlugin(const std::string& pName)
{
return m_pObserver->UnRegisterPlugin(pName);
@@ -127,33 +243,54 @@ void CCommLayerServerDBus::UnRegisterPlugin(const std::string& pName)
* DBus signal emitters
*/
-void CCommLayerServerDBus::Crash(const std::string& arg)
+/* Notify the clients (UI) about a new crash */
+void CCommLayerServerDBus::Crash(const std::string& arg1)
{
- CDBusServer_adaptor::Crash(arg);
+ ::DBus::SignalMessage sig("Crash");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << arg1;
+ emit_signal(sig);
}
+/* Notify the clients that creating a report has finished */
void CCommLayerServerDBus::AnalyzeComplete(const map_crash_report_t& arg1)
{
- CDBusServer_adaptor::AnalyzeComplete(arg1);
+ ::DBus::SignalMessage sig("AnalyzeComplete");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << arg1;
+ emit_signal(sig);
}
-void CCommLayerServerDBus::Error(const std::string& arg1)
+void CCommLayerServerDBus::JobDone(const std::string &pDest, uint64_t job_id)
{
- CDBusServer_adaptor::Error(arg1);
+ ::DBus::SignalMessage sig("JobDone");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << pDest;
+ wi << job_id;
+ emit_signal(sig);
}
-void CCommLayerServerDBus::Update(const std::string& pDest, const std::string& pMessage)
+void CCommLayerServerDBus::Error(const std::string& arg1)
{
- CDBusServer_adaptor::Update(pDest, pMessage);
+ ::DBus::SignalMessage sig("Error");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << arg1;
+ emit_signal(sig);
}
-void CCommLayerServerDBus::JobDone(const std::string &pDest, uint64_t pJobID)
+void CCommLayerServerDBus::Update(const std::string& pDest, const std::string& pMessage)
{
- CDBusServer_adaptor::JobDone(pDest, pJobID);
+ ::DBus::SignalMessage sig("Update");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << pDest;
+ wi << pMessage;
+ emit_signal(sig);
}
-void CCommLayerServerDBus::Warning(const std::string& pDest, const std::string& pMessage)
+void CCommLayerServerDBus::Warning(const std::string& arg1)
{
- CDBusServer_adaptor::Warning(pMessage);
+ ::DBus::SignalMessage sig("Warning");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << arg1;
+ emit_signal(sig);
}
-