summaryrefslogtreecommitdiffstats
path: root/src/Daemon
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2009-09-17 12:16:48 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2009-09-17 12:16:48 +0200
commit5a86973be999b43581e814412f0d52885abac5d4 (patch)
tree1ddbb5af77013dec00b4234ee583aff41eb43cae /src/Daemon
parent9a742f012b9154c34d046dc67ba9ad904512ab60 (diff)
downloadabrt-5a86973be999b43581e814412f0d52885abac5d4.tar.gz
abrt-5a86973be999b43581e814412f0d52885abac5d4.tar.xz
abrt-5a86973be999b43581e814412f0d52885abac5d4.zip
add dbus signalization when quota exceeded
Diffstat (limited to 'src/Daemon')
-rw-r--r--src/Daemon/CommLayerServer.h1
-rw-r--r--src/Daemon/CommLayerServerDBus.cpp10
-rw-r--r--src/Daemon/CommLayerServerDBus.h1
-rw-r--r--src/Daemon/Daemon.cpp1
4 files changed, 13 insertions, 0 deletions
diff --git a/src/Daemon/CommLayerServer.h b/src/Daemon/CommLayerServer.h
index e87c5c4b..aface8a3 100644
--- a/src/Daemon/CommLayerServer.h
+++ b/src/Daemon/CommLayerServer.h
@@ -16,6 +16,7 @@ class CCommLayerServer {
virtual void Crash(const std::string& progname, const std::string& uid) {}
virtual void JobDone(const char* pDest, const char* pUUID) = 0;
virtual void JobStarted(const char* pDest) {};
+ virtual void QuotaExceed(const char* str) {}
virtual void Update(const std::string& pMessage, const char* peer, uint64_t pJobID) {};
virtual void Warning(const std::string& pMessage, const char* peer, uint64_t pJobID) {};
diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp
index 8f913ad5..2f88a72b 100644
--- a/src/Daemon/CommLayerServerDBus.cpp
+++ b/src/Daemon/CommLayerServerDBus.cpp
@@ -47,6 +47,16 @@ void CCommLayerServerDBus::Crash(const std::string& progname, const std::string&
send_flush_and_unref(msg);
}
+void CCommLayerServerDBus::QuotaExceed(const char* str)
+{
+ DBusMessage* msg = new_signal_msg("QuotaExceed");
+ dbus_message_append_args(msg,
+ DBUS_TYPE_STRING, &str,
+ DBUS_TYPE_INVALID);
+ VERB2 log("Quota exceeded");
+ send_flush_and_unref(msg);
+}
+
void CCommLayerServerDBus::JobStarted(const char* peer)
{
DBusMessage* msg = new_signal_msg("JobStarted", peer);
diff --git a/src/Daemon/CommLayerServerDBus.h b/src/Daemon/CommLayerServerDBus.h
index e1185c5c..06fb15df 100644
--- a/src/Daemon/CommLayerServerDBus.h
+++ b/src/Daemon/CommLayerServerDBus.h
@@ -14,6 +14,7 @@ class CCommLayerServerDBus
virtual void Crash(const std::string& progname, const std::string& uid);
virtual void JobStarted(const char* pDest);
virtual void JobDone(const char* pDest, const char* pUUID);
+ virtual void QuotaExceed(const char* str);
virtual void Update(const std::string& pMessage, const char* peer, uint64_t pJobID);
virtual void Warning(const std::string& pMessage, const char* peer, uint64_t pJobID);
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp
index 4ee206b6..5a5dfeb2 100644
--- a/src/Daemon/Daemon.cpp
+++ b/src/Daemon/Daemon.cpp
@@ -524,6 +524,7 @@ static gboolean handle_event_cb(GIOChannel *gio, GIOCondition condition, gpointe
{
//TODO: delete oldest or biggest dir
log("Size of '%s' >= %u MB, deleting '%s'", DEBUG_DUMPS_DIR, g_settings_nMaxCrashReportsSize, name);
+ g_pCommLayer->QuotaExceed(_("Quota exceeded. Please check your MaxCrashReportsSize value in abrt.conf."));
DeleteDebugDumpDir(std::string(DEBUG_DUMPS_DIR) + "/" + name);
continue;
}