| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 /* | 
|  | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
|  | 3  * Copyright (C) 2006-2015 Eyeo GmbH | 
|  | 4  * | 
|  | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
|  | 6  * it under the terms of the GNU General Public License version 3 as | 
|  | 7  * published by the Free Software Foundation. | 
|  | 8  * | 
|  | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
|  | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | 12  * GNU General Public License for more details. | 
|  | 13  * | 
|  | 14  * You should have received a copy of the GNU General Public License | 
|  | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
|  | 16  */ | 
|  | 17 | 
|  | 18 #ifndef ADBLOCK_PLUS_NOTIFICATION_H | 
|  | 19 #define ADBLOCK_PLUS_NOTIFICATION_H | 
|  | 20 | 
|  | 21 #include <string> | 
|  | 22 #include <vector> | 
|  | 23 #include "tr1_memory.h" | 
|  | 24 | 
|  | 25 namespace AdblockPlus | 
|  | 26 { | 
|  | 27   class FilterEngine; | 
|  | 28   /** | 
|  | 29    * Possible notification types. | 
|  | 30    */ | 
|  | 31   enum NotificationType | 
|  | 32   { | 
|  | 33     NOTIFICATION_TYPE_INFORMATION, | 
|  | 34     NOTIFICATION_TYPE_QUESTION, | 
|  | 35     NOTIFICATION_TYPE_CRITICAL | 
|  | 36   }; | 
|  | 37 | 
|  | 38   /** | 
|  | 39    * Wrapper for an Adblock Plus notification object. | 
|  | 40    */ | 
|  | 41   class Notification: public JsValue | 
|  | 42   { | 
|  | 43     friend class FilterEngine; | 
|  | 44   protected: | 
|  | 45     static std::tr1::shared_ptr<Notification> JsValueToNotification(const JsValu
    ePtr& jsValue); | 
|  | 46     /** | 
|  | 47      * Constructor. | 
|  | 48      * @param jsValue `JsValuePtr` notification JavaScript object. | 
|  | 49      */ | 
|  | 50     explicit Notification(const JsValuePtr& jsValue); | 
|  | 51   public: | 
|  | 52     /** | 
|  | 53      * Retrieves the type of this notification. | 
|  | 54      * @return Type of this notification. | 
|  | 55      */ | 
|  | 56     NotificationType GetType() const; | 
|  | 57 | 
|  | 58     /** | 
|  | 59      * Retrieves the title of this notification. | 
|  | 60      * @return Title of this notification. | 
|  | 61      */ | 
|  | 62     const std::string& GetTitle() const; | 
|  | 63 | 
|  | 64     /** | 
|  | 65      * Retrieves the message of this notification. | 
|  | 66      * @return Message of this notification. | 
|  | 67      */ | 
|  | 68     const std::string& GetMessageString() const; | 
|  | 69 | 
|  | 70     /** | 
|  | 71      * Marks this notification as shown. It is only relevant for question | 
|  | 72      * notifications. Other notifications are marked automatically. | 
|  | 73      */ | 
|  | 74     void MarkAsShown(); | 
|  | 75   private: | 
|  | 76     std::string title; | 
|  | 77     std::string message; | 
|  | 78     NotificationType type; | 
|  | 79   }; | 
|  | 80   typedef std::tr1::shared_ptr<Notification> NotificationPtr; | 
|  | 81 } | 
|  | 82 | 
|  | 83 #endif | 
| OLD | NEW | 
|---|