summaryrefslogtreecommitdiffstats
path: root/src/Daemon/CommLayerServerSocket.h
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-08-19 19:08:55 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-08-19 19:08:55 +0200
commitcba5b047558b7f0d9643a84a6257adf1a7f41086 (patch)
tree9d08b91308e5300f8b7cab965369f730dd61bfa8 /src/Daemon/CommLayerServerSocket.h
parent14b68dc5f0b2bea106383f623e9ad037a4fdc682 (diff)
downloadabrt-cba5b047558b7f0d9643a84a6257adf1a7f41086.tar.gz
abrt-cba5b047558b7f0d9643a84a6257adf1a7f41086.tar.xz
abrt-cba5b047558b7f0d9643a84a6257adf1a7f41086.zip
move lib/CommLayer/CommLayerServer*.{h,cpp} to src/Daemon/, the sole user
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/Daemon/CommLayerServerSocket.h')
-rw-r--r--src/Daemon/CommLayerServerSocket.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/Daemon/CommLayerServerSocket.h b/src/Daemon/CommLayerServerSocket.h
new file mode 100644
index 00000000..2dc9a7ae
--- /dev/null
+++ b/src/Daemon/CommLayerServerSocket.h
@@ -0,0 +1,37 @@
+#include "CommLayerServer.h"
+#include "DBusCommon.h"
+#include <glib.h>
+
+#define SOCKET_FILE VAR_RUN"/abrt.socket"
+#define SOCKET_PERMISSION 0666
+
+class CCommLayerServerSocket : public CCommLayerServer
+{
+ private:
+ typedef std::map<int, GIOChannel*> map_clinet_channels_t;
+
+ int m_nSocket;
+ GIOChannel* m_pGSocket;
+ map_clinet_channels_t m_mapClientChannels;
+
+ void Send(const std::string& pData, GIOChannel *pDestination);
+
+ static gboolean server_socket_cb(GIOChannel *source, GIOCondition condition, gpointer data);
+ static gboolean client_socket_cb(GIOChannel *source, GIOCondition condition, gpointer data);
+
+ std::string GetSenderUID(int pSenderSocket);
+ void ProcessMessage(const std::string& pMessage, GIOChannel *pSource);
+
+ public:
+ CCommLayerServerSocket();
+ virtual ~CCommLayerServerSocket();
+
+ virtual vector_crash_infos_t GetCrashInfos(const std::string &pSender);
+ virtual map_crash_report_t CreateReport(const std::string &pUUID,const std::string &pSender);
+ virtual report_status_t Report(map_crash_report_t pReport, const std::string& pSender);
+ virtual bool DeleteDebugDump(const std::string& pUUID, const std::string& pSender);
+
+ virtual void Crash(const std::string& arg1);
+ virtual void AnalyzeComplete(map_crash_report_t arg1);
+ virtual void Error(const std::string& arg1);
+};