| Index: include/AdblockPlus/FilterEngine.h |
| diff --git a/include/AdblockPlus/FilterEngine.h b/include/AdblockPlus/FilterEngine.h |
| index a6fa146265620ebd4faa813689ae907955092c8c..1aabd2eaa2e188a5ab216b47d694a5094835dc0c 100644 |
| --- a/include/AdblockPlus/FilterEngine.h |
| +++ b/include/AdblockPlus/FilterEngine.h |
| @@ -186,6 +186,12 @@ namespace AdblockPlus |
| typedef std::tr1::function<void(const std::string&, const JsValuePtr)> FilterChangeCallback; |
| /** |
| + * 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&)> NotificationAvailableCallback; |
| + |
| + /** |
| * Constructor. |
| * @param jsEngine `JsEngine` instance used to run JavaScript code |
| * internally. |
| @@ -238,12 +244,23 @@ 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 SetNotificationAvailableCallback(const NotificationAvailableCallback& value); |
|
Felix Dahlke
2015/06/25 18:35:48
I'd prefer to call this SetNotificationShowCallbac
sergei
2015/06/26 14:21:17
I think the callback should be called `ShowNotific
Felix Dahlke
2015/06/30 19:45:31
Yeah, fair enough.
|
| + |
| + /** |
| + * Removes the callback invoked when a notification should be shown. |
| + * available. |
| + */ |
| + void RemoveNotificationAvailableCallback(); |
| /** |
| * Checks if any active filter matches the supplied URL. |
| @@ -386,6 +403,8 @@ namespace AdblockPlus |
| void UpdateCheckDone(const std::string& eventName, |
| UpdateCheckDoneCallback callback, JsValueList& params); |
| void FilterChanged(FilterChangeCallback callback, JsValueList& params); |
| + void NotificationAvailable(const NotificationAvailableCallback& callback, |
| + const JsValueList& params); |
| }; |
| } |