diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-09-17 12:16:48 +0200 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-09-17 12:16:48 +0200 |
commit | 5a86973be999b43581e814412f0d52885abac5d4 (patch) | |
tree | 1ddbb5af77013dec00b4234ee583aff41eb43cae /src/Daemon | |
parent | 9a742f012b9154c34d046dc67ba9ad904512ab60 (diff) | |
download | abrt-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.h | 1 | ||||
-rw-r--r-- | src/Daemon/CommLayerServerDBus.cpp | 10 | ||||
-rw-r--r-- | src/Daemon/CommLayerServerDBus.h | 1 | ||||
-rw-r--r-- | src/Daemon/Daemon.cpp | 1 |
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; } |