From 138223ab9ca917420d107d95a113e7628c27bac5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Thu, 15 Mar 2012 20:21:46 +0100
Subject: Added purge to Growl.


diff --git a/SwifTools/Notifier/GrowlNotifier.h b/SwifTools/Notifier/GrowlNotifier.h
index f1fb8c6..73f1008 100644
--- a/SwifTools/Notifier/GrowlNotifier.h
+++ b/SwifTools/Notifier/GrowlNotifier.h
@@ -29,9 +29,11 @@ namespace Swift {
 			void handleNotificationClicked(void* data);
 			void handleNotificationTimedOut(void* data);
 		
-			virtual void purgeCallbacks() {
-#warning FIXME: Implement
-			}
+			virtual void purgeCallbacks();
+
+		private:
+			void clearPendingNotifications();
+		
 		private:
 			class Private;
 			boost::shared_ptr<Private> p;
diff --git a/SwifTools/Notifier/GrowlNotifier.mm b/SwifTools/Notifier/GrowlNotifier.mm
index b0f26ce..c1996d9 100644
--- a/SwifTools/Notifier/GrowlNotifier.mm
+++ b/SwifTools/Notifier/GrowlNotifier.mm
@@ -60,10 +60,7 @@ GrowlNotifier::GrowlNotifier(const std::string& name) {
 
 GrowlNotifier::~GrowlNotifier() {
 	[GrowlApplicationBridge setGrowlDelegate: nil];
-	foreach (Context* context, p->pendingNotifications) {
-		delete context;
-	}
-	p->pendingNotifications.clear();
+	clearPendingNotifications();
 }
 
 void GrowlNotifier::showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picturePath, boost::function<void()> callback) {
@@ -106,4 +103,15 @@ bool GrowlNotifier::isExternallyConfigured() const {
 	return ![GrowlApplicationBridge isMistEnabled];
 }
 
+void GrowlNotifier::purgeCallbacks() {
+	clearPendingNotifications();
+}
+
+void GrowlNotifier::clearPendingNotifications() {
+	foreach (Context* context, p->pendingNotifications) {
+		delete context;
+	}
+	p->pendingNotifications.clear();
+}
+
 }
-- 
cgit v0.10.2-6-g49f6