summaryrefslogtreecommitdiffstats
path: root/lib/CommLayer/DBusServerProxy.h
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-07-20 17:01:01 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2009-07-20 17:01:01 +0200
commitc581668d59fc839f42a9e42ff4b371b02789aaa3 (patch)
tree7191f4085b1763b01dd4f813caedd93bae157ba8 /lib/CommLayer/DBusServerProxy.h
parentede175cb92ada7e1235b9b1ee8777d7d1ad32613 (diff)
downloadabrt-c581668d59fc839f42a9e42ff4b371b02789aaa3.tar.gz
abrt-c581668d59fc839f42a9e42ff4b371b02789aaa3.tar.xz
abrt-c581668d59fc839f42a9e42ff4b371b02789aaa3.zip
Daemon: added threaded CreateReport -> breaks CLI!
Diffstat (limited to 'lib/CommLayer/DBusServerProxy.h')
-rw-r--r--lib/CommLayer/DBusServerProxy.h43
1 files changed, 40 insertions, 3 deletions
diff --git a/lib/CommLayer/DBusServerProxy.h b/lib/CommLayer/DBusServerProxy.h
index e8e43c5..cc91766 100644
--- a/lib/CommLayer/DBusServerProxy.h
+++ b/lib/CommLayer/DBusServerProxy.h
@@ -20,7 +20,8 @@
#include <dbus-c++/glib-integration.h>
#include "DBusCommon.h"
#include <map>
-#include <map>
+#include <iostream>
+#include <stdlib.h>
class CDBusServer_adaptor
: public DBus::InterfaceAdaptor
@@ -34,6 +35,7 @@ public:
register_method(CDBusServer_adaptor, CreateReport, _CreateReport_stub);
register_method(CDBusServer_adaptor, Report, _Report_stub);
register_method(CDBusServer_adaptor, DeleteDebugDump, _DeleteDebugDump_stub);
+ register_method(CDBusServer_adaptor, GetJobResult, _GetJobResult_stub);
}
/* reveal Interface introspection when we stabilize the API */
/*
@@ -89,8 +91,11 @@ public:
*/
virtual vector_crash_infos_t GetCrashInfos(const std::string &pDBusSender) = 0;
virtual map_crash_report_t CreateReport(const std::string &pUUID,const std::string &pDBusSender) = 0;
+ virtual uint64_t CreateReport_t(const std::string &pUUID,const std::string &pDBusSender) = 0;
virtual bool Report(map_crash_report_t pReport, const std::string &pDBusSender) = 0;
virtual bool DeleteDebugDump(const std::string& pUUID, const std::string& pDBusSender) = 0;
+ virtual map_crash_report_t GetJobResult(uint64_t pJobID, const std::string& pDBusSender) = 0;
+
public:
/* signal emitters for this interface
@@ -111,6 +116,15 @@ public:
wi << arg1;
emit_signal(sig);
}
+
+
+ void JobDone(uint64_t job_id)
+ {
+ ::DBus::SignalMessage sig("JobDone");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << job_id;
+ emit_signal(sig);
+ }
void Error(const std::string& arg1)
{
@@ -119,6 +133,15 @@ public:
wi << arg1;
emit_signal(sig);
}
+
+ void Update(const std::string pDest, const std::string& pMessage)
+ {
+ ::DBus::SignalMessage sig("Update");
+ ::DBus::MessageIter wi = sig.writer();
+ wi << pDest;
+ wi << pMessage;
+ emit_signal(sig);
+ }
private:
@@ -127,7 +150,7 @@ private:
DBus::Message _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();
@@ -140,7 +163,9 @@ private:
DBus::MessageIter ri = call.reader();
std::string argin1; ri >> argin1;
- map_crash_report_t argout1 = CreateReport(argin1,call.sender());
+ 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;
@@ -170,5 +195,17 @@ private:
wi << argout1;
return reply;
}
+
+ DBus::Message _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;
+ }
};