Index: include/AdblockPlus/FilterEngine.h |
diff --git a/include/AdblockPlus/FilterEngine.h b/include/AdblockPlus/FilterEngine.h |
index 0a36af2be87736480d654655642a4008f38f3b5f..6cebaa70b4b921cf3d6ea5ce97723ca22689bc2d 100644 |
--- a/include/AdblockPlus/FilterEngine.h |
+++ b/include/AdblockPlus/FilterEngine.h |
@@ -191,6 +191,12 @@ namespace AdblockPlus |
typedef std::map<std::string, AdblockPlus::JsValuePtr> Prefs; |
/** |
+ * Callback type invoked when a new notification should be shown. |
+ * The parameter is the Notification object to be shown. |
+ */ |
+ typedef std::tr1::function<void(const NotificationPtr&)> ShowNotificationCallback; |
+ |
+ /** |
* Constructor. |
* @param jsEngine `JsEngine` instance used to run JavaScript code |
* internally. |
@@ -247,12 +253,22 @@ namespace AdblockPlus |
std::vector<SubscriptionPtr> FetchAvailableSubscriptions() const; |
/** |
- * Determines which notification is to be shown next. |
+ * Invokes the listener set via SetNotificationAvailableCallback() with the |
+ * next notification to be shown. |
* @param url URL to match notifications to (optional). |
- * @return Notification to be shown, or `null` if there is no any. |
*/ |
- NotificationPtr GetNextNotificationToShow( |
- const std::string& url = std::string()); |
+ void ShowNextNotification(const std::string& url = std::string()); |
+ |
+ /** |
+ * Sets the callback invoked when a notification should be shown. |
+ * @param callback Callback to invoke. |
+ */ |
+ void SetShowNotificationCallback(const ShowNotificationCallback& value); |
+ |
+ /** |
+ * Removes the callback invoked when a notification should be shown. |
+ */ |
+ void RemoveShowNotificationCallback(); |
/** |
* Checks if any active filter matches the supplied URL. |
@@ -395,6 +411,8 @@ namespace AdblockPlus |
void UpdateCheckDone(const std::string& eventName, |
UpdateCheckDoneCallback callback, JsValueList& params); |
void FilterChanged(FilterChangeCallback callback, JsValueList& params); |
+ void ShowNotification(const ShowNotificationCallback& callback, |
+ const JsValueList& params); |
}; |
} |