| Index: include/AdblockPlus/Notification.h | 
| diff --git a/include/AdblockPlus/Notification.h b/include/AdblockPlus/Notification.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..3825c953a8c0cef5602e90451b48f6773f2dbee5 | 
| --- /dev/null | 
| +++ b/include/AdblockPlus/Notification.h | 
| @@ -0,0 +1,63 @@ | 
| +/* | 
| + * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| + * Copyright (C) 2006-2015 Eyeo GmbH | 
| + * | 
| + * Adblock Plus is free software: you can redistribute it and/or modify | 
| + * it under the terms of the GNU General Public License version 3 as | 
| + * published by the Free Software Foundation. | 
| + * | 
| + * Adblock Plus is distributed in the hope that it will be useful, | 
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| + * GNU General Public License for more details. | 
| + * | 
| + * You should have received a copy of the GNU General Public License | 
| + * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| + */ | 
| + | 
| +#ifndef ADBLOCK_PLUS_NOTIFICATION_H | 
| +#define ADBLOCK_PLUS_NOTIFICATION_H | 
| + | 
| +#include <string> | 
| +#include <vector> | 
| +#include <memory> | 
| + | 
| +namespace AdblockPlus | 
| +{ | 
| +  class FilterEngine; | 
| +  enum NotificationType | 
| +  { | 
| +    NOTIFICATION_TYPE_INFORMATION = 0, | 
| +    NOTIFICATION_TYPE_QUESTION    = 1, | 
| +    NOTIFICATION_TYPE_CRITICAL    = 2 | 
| +  }; | 
| + | 
| +  struct NotificationTexts | 
| +  { | 
| +    std::string title; | 
| +    std::string message; | 
| +  }; | 
| + | 
| +  class Notification : public JsValue | 
| +  { | 
| +    friend class FilterEngine; | 
| +  protected: | 
| +    struct PrivateCtrArg{}; | 
| +    static std::tr1::shared_ptr<Notification> JsValueToNotification(const JsValuePtr& jsValue); | 
| +    /// @param jsText is javascript object returned by getLocalizedTexts. | 
| +    static NotificationTexts JsTextsToNotificationTexts(const JsValue& jsText); | 
| +  public: | 
| +    Notification(NotificationType type, const std::string& id, const JsValuePtr& jsValue, PrivateCtrArg); | 
| +    Notification(const JsValuePtr& value, PrivateCtrArg); | 
| +    std::string GetId() const; | 
| +    NotificationType GetType() const; | 
| +    void SetTitle(const std::string& value, const std::string& locale = std::string()); | 
| +    void SetMessage(const std::string& value, const std::string& locale = std::string()); | 
| +    std::vector<std::string> GetUrlFilters() const; | 
| +    void AddUrlFilter(const std::string& value); | 
| +  private: | 
| +    void SetMultilingualProperty(const std::string& propertyName, const std::string& value, const std::string& locale); | 
| +  }; | 
| +} | 
| + | 
| +#endif | 
|  |