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

Side by Side Diff: src/Notification.cpp

Issue 29419629: Issue 5164 - Remove NotificationPtr (Closed) Base URL: https://hg.adblockplus.org/libadblockplus/
Patch Set: Added move assignment operator. Created April 24, 2017, 7:08 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
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2017 eyeo GmbH 3 * Copyright (C) 2006-2017 eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 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 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 NotificationTypes::const_iterator notificationTypeIterator = std::find_if( 50 NotificationTypes::const_iterator notificationTypeIterator = std::find_if(
51 notificationTypes.begin(), notificationTypes.end(), findBySecond); 51 notificationTypes.begin(), notificationTypes.end(), findBySecond);
52 if (notificationTypeIterator == notificationTypes.end()) 52 if (notificationTypeIterator == notificationTypes.end())
53 { 53 {
54 return NotificationType::NOTIFICATION_TYPE_INFORMATION; 54 return NotificationType::NOTIFICATION_TYPE_INFORMATION;
55 } 55 }
56 return notificationTypeIterator->first; 56 return notificationTypeIterator->first;
57 } 57 }
58 } 58 }
59 59
60 Notification::Notification(const Notification& src)
61 : JsValue(src)
62 {
63 }
64
65 Notification::Notification(Notification&& src)
66 : JsValue(std::move(src))
67 {
68 }
69
60 Notification::Notification(JsValue&& jsValue) 70 Notification::Notification(JsValue&& jsValue)
61 : JsValue(std::move(jsValue)) 71 : JsValue(std::move(jsValue))
62 { 72 {
63 } 73 }
64 74
75 Notification& Notification::operator=(const Notification& src)
76 {
77 *this = src;
78 return *this;
79 }
80
81 Notification& Notification::operator=(Notification&& src)
82 {
83 *this = std::move(src);
sergei 2017/04/24 19:28:15 It will cause an infinite recursion. It should be
hub 2017/04/24 20:17:04 oops. same with the assignment (copy).
84 return *this;
85 }
86
65 NotificationType Notification::GetType() const 87 NotificationType Notification::GetType() const
66 { 88 {
67 return StringToNotificationType(GetProperty("type").AsString()); 89 return StringToNotificationType(GetProperty("type").AsString());
68 } 90 }
69 91
70 NotificationTexts Notification::GetTexts() const 92 NotificationTexts Notification::GetTexts() const
71 { 93 {
72 JsValue jsTexts = jsEngine->Evaluate("API.getNotificationTexts").Call(*this); 94 JsValue jsTexts = jsEngine->Evaluate("API.getNotificationTexts").Call(*this);
73 NotificationTexts notificationTexts; 95 NotificationTexts notificationTexts;
74 JsValue jsTitle = jsTexts.GetProperty("title"); 96 JsValue jsTitle = jsTexts.GetProperty("title");
(...skipping 22 matching lines...) Expand all
97 { 119 {
98 retValue.push_back(link.AsString()); 120 retValue.push_back(link.AsString());
99 } 121 }
100 return retValue; 122 return retValue;
101 } 123 }
102 124
103 void Notification::MarkAsShown() 125 void Notification::MarkAsShown()
104 { 126 {
105 jsEngine->Evaluate("API.markNotificationAsShown").Call(GetProperty("id")); 127 jsEngine->Evaluate("API.markNotificationAsShown").Call(GetProperty("id"));
106 } 128 }
OLDNEW

Powered by Google App Engine
This is Rietveld