Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: include/AdblockPlus/Notification.h

Issue 6090724420354048: Noissue - Upgraded to latest libadblockplus version, included v8 includes (Closed)
Patch Set: Removed v8 includes Created Jan. 29, 2015, 5:09 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld