diff options
Diffstat (limited to 'SwifTools/Notifier/TogglableNotifier.h')
-rw-r--r-- | SwifTools/Notifier/TogglableNotifier.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/SwifTools/Notifier/TogglableNotifier.h b/SwifTools/Notifier/TogglableNotifier.h index 7abfd42..a4f0bb6 100644 --- a/SwifTools/Notifier/TogglableNotifier.h +++ b/SwifTools/Notifier/TogglableNotifier.h @@ -18,41 +18,45 @@ namespace Swift { * Set a long-term (usually user-set) enabled. * This may be temporarily overriden by the application, e.g. if the * user is marked DND. */ void setPersistentEnabled(bool b) { persistentEnabled = b; } /** * Set a temporary override to stop notifications without changing the * long-term state. e.g. if the user goes DND, but the persistent * enabled shouldn't be lost when they become available again. */ void setTemporarilyDisabled(bool b) { temporarilyDisabled = b; } /** * Get the result of applying the temporary override to the persistent * enabledness. */ bool getCurrentlyEnabled() const { return persistentEnabled && !temporarilyDisabled; } virtual void showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picture, boost::function<void()> callback) { if (getCurrentlyEnabled() || notifier->isExternallyConfigured()) { notifier->showMessage(type, subject, description, picture, callback); } } virtual bool isExternallyConfigured() const { return notifier->isExternallyConfigured(); } + virtual void purgeCallbacks() { + notifier->purgeCallbacks(); + } + private: Notifier* notifier; bool persistentEnabled; bool temporarilyDisabled; }; } |