summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'SwifTools/Notifier/NotificationCenterNotifier.h')
-rw-r--r--SwifTools/Notifier/NotificationCenterNotifier.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/SwifTools/Notifier/NotificationCenterNotifier.h b/SwifTools/Notifier/NotificationCenterNotifier.h
new file mode 100644
index 0000000..0d43c5b
--- /dev/null
+++ b/SwifTools/Notifier/NotificationCenterNotifier.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2015 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
+ */
+
+#pragma once
+
+#include <string>
+
+#include <SwifTools/Notifier/Notifier.h>
+
+namespace Swift {
+
+/**
+ * @brief The NotificationCenterNotifier class implmenents the notification interface for the
+ * OS X Notification Center API.
+ */
+class NotificationCenterNotifier : public Notifier {
+public:
+ NotificationCenterNotifier();
+ virtual ~NotificationCenterNotifier();
+
+ virtual void showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picture, boost::function<void ()> callback);
+ virtual void purgeCallbacks();
+
+ /**
+ * @brief The handleUserNotificationActivated is called by the delegate, when a user activates/clicks on a notification.
+ * @param identifier The std::string UUID identifiying the notification.
+ */
+ void handleUserNotificationActivated(const std::string& identifier);
+
+private:
+ class Private;
+ boost::shared_ptr<Private> p;
+};
+
+}