diff options
Diffstat (limited to 'SwifTools/Notifier/NotificationCenterNotifier.h')
-rw-r--r-- | SwifTools/Notifier/NotificationCenterNotifier.h | 38 |
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; +}; + +} |