Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(302)

Side by Side Diff: sync/tools/sync_client.cc

Issue 642023004: Standardize usage of virtual/override/final in sync/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sync/tools/null_invalidation_state_tracker.h ('k') | sync/tools/sync_listen_notifications.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cstddef> 5 #include <cstddef>
6 #include <cstdio> 6 #include <cstdio>
7 #include <string> 7 #include <string>
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 class MyTestURLRequestContext : public net::TestURLRequestContext { 72 class MyTestURLRequestContext : public net::TestURLRequestContext {
73 public: 73 public:
74 MyTestURLRequestContext() : TestURLRequestContext(true) { 74 MyTestURLRequestContext() : TestURLRequestContext(true) {
75 context_storage_.set_host_resolver( 75 context_storage_.set_host_resolver(
76 net::HostResolver::CreateDefaultResolver(NULL)); 76 net::HostResolver::CreateDefaultResolver(NULL));
77 context_storage_.set_transport_security_state( 77 context_storage_.set_transport_security_state(
78 new net::TransportSecurityState()); 78 new net::TransportSecurityState());
79 Init(); 79 Init();
80 } 80 }
81 81
82 virtual ~MyTestURLRequestContext() {} 82 ~MyTestURLRequestContext() override {}
83 }; 83 };
84 84
85 class MyTestURLRequestContextGetter : public net::TestURLRequestContextGetter { 85 class MyTestURLRequestContextGetter : public net::TestURLRequestContextGetter {
86 public: 86 public:
87 explicit MyTestURLRequestContextGetter( 87 explicit MyTestURLRequestContextGetter(
88 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) 88 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
89 : TestURLRequestContextGetter(io_task_runner) {} 89 : TestURLRequestContextGetter(io_task_runner) {}
90 90
91 virtual net::TestURLRequestContext* GetURLRequestContext() override { 91 net::TestURLRequestContext* GetURLRequestContext() override {
92 // Construct |context_| lazily so it gets constructed on the right 92 // Construct |context_| lazily so it gets constructed on the right
93 // thread (the IO thread). 93 // thread (the IO thread).
94 if (!context_) 94 if (!context_)
95 context_.reset(new MyTestURLRequestContext()); 95 context_.reset(new MyTestURLRequestContext());
96 return context_.get(); 96 return context_.get();
97 } 97 }
98 98
99 private: 99 private:
100 virtual ~MyTestURLRequestContextGetter() {} 100 ~MyTestURLRequestContextGetter() override {}
101 101
102 scoped_ptr<MyTestURLRequestContext> context_; 102 scoped_ptr<MyTestURLRequestContext> context_;
103 }; 103 };
104 104
105 // TODO(akalin): Use system encryptor once it's moved to sync/. 105 // TODO(akalin): Use system encryptor once it's moved to sync/.
106 class NullEncryptor : public Encryptor { 106 class NullEncryptor : public Encryptor {
107 public: 107 public:
108 virtual ~NullEncryptor() {} 108 ~NullEncryptor() override {}
109 109
110 virtual bool EncryptString(const std::string& plaintext, 110 bool EncryptString(const std::string& plaintext,
111 std::string* ciphertext) override { 111 std::string* ciphertext) override {
112 *ciphertext = plaintext; 112 *ciphertext = plaintext;
113 return true; 113 return true;
114 } 114 }
115 115
116 virtual bool DecryptString(const std::string& ciphertext, 116 bool DecryptString(const std::string& ciphertext,
117 std::string* plaintext) override { 117 std::string* plaintext) override {
118 *plaintext = ciphertext; 118 *plaintext = ciphertext;
119 return true; 119 return true;
120 } 120 }
121 }; 121 };
122 122
123 std::string ValueToString(const base::Value& value) { 123 std::string ValueToString(const base::Value& value) {
124 std::string str; 124 std::string str;
125 base::JSONWriter::Write(&value, &str); 125 base::JSONWriter::Write(&value, &str);
126 return str; 126 return str;
127 } 127 }
128 128
129 class LoggingChangeDelegate : public SyncManager::ChangeDelegate { 129 class LoggingChangeDelegate : public SyncManager::ChangeDelegate {
130 public: 130 public:
131 virtual ~LoggingChangeDelegate() {} 131 ~LoggingChangeDelegate() override {}
132 132
133 virtual void OnChangesApplied( 133 void OnChangesApplied(ModelType model_type,
134 ModelType model_type, 134 int64 model_version,
135 int64 model_version, 135 const BaseTransaction* trans,
136 const BaseTransaction* trans, 136 const ImmutableChangeRecordList& changes) override {
137 const ImmutableChangeRecordList& changes) override {
138 LOG(INFO) << "Changes applied for " 137 LOG(INFO) << "Changes applied for "
139 << ModelTypeToString(model_type); 138 << ModelTypeToString(model_type);
140 size_t i = 1; 139 size_t i = 1;
141 size_t change_count = changes.Get().size(); 140 size_t change_count = changes.Get().size();
142 for (ChangeRecordList::const_iterator it = 141 for (ChangeRecordList::const_iterator it =
143 changes.Get().begin(); it != changes.Get().end(); ++it) { 142 changes.Get().begin(); it != changes.Get().end(); ++it) {
144 scoped_ptr<base::DictionaryValue> change_value(it->ToValue()); 143 scoped_ptr<base::DictionaryValue> change_value(it->ToValue());
145 LOG(INFO) << "Change (" << i << "/" << change_count << "): " 144 LOG(INFO) << "Change (" << i << "/" << change_count << "): "
146 << ValueToString(*change_value); 145 << ValueToString(*change_value);
147 if (it->action != ChangeRecord::ACTION_DELETE) { 146 if (it->action != ChangeRecord::ACTION_DELETE) {
148 ReadNode node(trans); 147 ReadNode node(trans);
149 CHECK_EQ(node.InitByIdLookup(it->id), BaseNode::INIT_OK); 148 CHECK_EQ(node.InitByIdLookup(it->id), BaseNode::INIT_OK);
150 scoped_ptr<base::DictionaryValue> details(node.ToValue()); 149 scoped_ptr<base::DictionaryValue> details(node.ToValue());
151 VLOG(1) << "Details: " << ValueToString(*details); 150 VLOG(1) << "Details: " << ValueToString(*details);
152 } 151 }
153 ++i; 152 ++i;
154 } 153 }
155 } 154 }
156 155
157 virtual void OnChangesComplete(ModelType model_type) override { 156 void OnChangesComplete(ModelType model_type) override {
158 LOG(INFO) << "Changes complete for " 157 LOG(INFO) << "Changes complete for "
159 << ModelTypeToString(model_type); 158 << ModelTypeToString(model_type);
160 } 159 }
161 }; 160 };
162 161
163 class LoggingUnrecoverableErrorHandler 162 class LoggingUnrecoverableErrorHandler
164 : public UnrecoverableErrorHandler { 163 : public UnrecoverableErrorHandler {
165 public: 164 public:
166 virtual ~LoggingUnrecoverableErrorHandler() {} 165 ~LoggingUnrecoverableErrorHandler() override {}
167 166
168 virtual void OnUnrecoverableError(const tracked_objects::Location& from_here, 167 void OnUnrecoverableError(const tracked_objects::Location& from_here,
169 const std::string& message) override { 168 const std::string& message) override {
170 if (LOG_IS_ON(ERROR)) { 169 if (LOG_IS_ON(ERROR)) {
171 logging::LogMessage(from_here.file_name(), from_here.line_number(), 170 logging::LogMessage(from_here.file_name(), from_here.line_number(),
172 logging::LOG_ERROR).stream() 171 logging::LOG_ERROR).stream()
173 << message; 172 << message;
174 } 173 }
175 } 174 }
176 }; 175 };
177 176
178 class LoggingJsEventHandler 177 class LoggingJsEventHandler
179 : public JsEventHandler, 178 : public JsEventHandler,
180 public base::SupportsWeakPtr<LoggingJsEventHandler> { 179 public base::SupportsWeakPtr<LoggingJsEventHandler> {
181 public: 180 public:
182 virtual ~LoggingJsEventHandler() {} 181 ~LoggingJsEventHandler() override {}
183 182
184 virtual void HandleJsEvent( 183 void HandleJsEvent(const std::string& name,
185 const std::string& name, 184 const JsEventDetails& details) override {
186 const JsEventDetails& details) override {
187 VLOG(1) << name << ": " << details.ToString(); 185 VLOG(1) << name << ": " << details.ToString();
188 } 186 }
189 }; 187 };
190 188
191 class InvalidationAdapter : public syncer::InvalidationInterface { 189 class InvalidationAdapter : public syncer::InvalidationInterface {
192 public: 190 public:
193 explicit InvalidationAdapter(const syncer::Invalidation& invalidation) 191 explicit InvalidationAdapter(const syncer::Invalidation& invalidation)
194 : invalidation_(invalidation) {} 192 : invalidation_(invalidation) {}
195 virtual ~InvalidationAdapter() {} 193 ~InvalidationAdapter() override {}
196 194
197 virtual bool IsUnknownVersion() const override { 195 bool IsUnknownVersion() const override {
198 return invalidation_.is_unknown_version(); 196 return invalidation_.is_unknown_version();
199 } 197 }
200 198
201 virtual const std::string& GetPayload() const override { 199 const std::string& GetPayload() const override {
202 return invalidation_.payload(); 200 return invalidation_.payload();
203 } 201 }
204 202
205 virtual int64 GetVersion() const override { 203 int64 GetVersion() const override { return invalidation_.version(); }
206 return invalidation_.version();
207 }
208 204
209 virtual void Acknowledge() override { 205 void Acknowledge() override { invalidation_.Acknowledge(); }
210 invalidation_.Acknowledge();
211 }
212 206
213 virtual void Drop() override { 207 void Drop() override { invalidation_.Drop(); }
214 invalidation_.Drop();
215 }
216 208
217 private: 209 private:
218 syncer::Invalidation invalidation_; 210 syncer::Invalidation invalidation_;
219 }; 211 };
220 212
221 class InvalidatorShim : public InvalidationHandler { 213 class InvalidatorShim : public InvalidationHandler {
222 public: 214 public:
223 explicit InvalidatorShim(SyncManager* sync_manager) 215 explicit InvalidatorShim(SyncManager* sync_manager)
224 : sync_manager_(sync_manager) {} 216 : sync_manager_(sync_manager) {}
225 217
226 virtual void OnInvalidatorStateChange(InvalidatorState state) override { 218 void OnInvalidatorStateChange(InvalidatorState state) override {
227 sync_manager_->SetInvalidatorEnabled(state == INVALIDATIONS_ENABLED); 219 sync_manager_->SetInvalidatorEnabled(state == INVALIDATIONS_ENABLED);
228 } 220 }
229 221
230 virtual void OnIncomingInvalidation( 222 void OnIncomingInvalidation(
231 const ObjectIdInvalidationMap& invalidation_map) override { 223 const ObjectIdInvalidationMap& invalidation_map) override {
232 syncer::ObjectIdSet ids = invalidation_map.GetObjectIds(); 224 syncer::ObjectIdSet ids = invalidation_map.GetObjectIds();
233 for (syncer::ObjectIdSet::const_iterator ids_it = ids.begin(); 225 for (syncer::ObjectIdSet::const_iterator ids_it = ids.begin();
234 ids_it != ids.end(); 226 ids_it != ids.end();
235 ++ids_it) { 227 ++ids_it) {
236 syncer::ModelType type; 228 syncer::ModelType type;
237 if (!NotificationTypeToRealModelType(ids_it->name(), &type)) { 229 if (!NotificationTypeToRealModelType(ids_it->name(), &type)) {
238 DLOG(WARNING) << "Notification has invalid id: " 230 DLOG(WARNING) << "Notification has invalid id: "
239 << syncer::ObjectIdToString(*ids_it); 231 << syncer::ObjectIdToString(*ids_it);
240 } else { 232 } else {
241 syncer::SingleObjectInvalidationSet invalidation_set = 233 syncer::SingleObjectInvalidationSet invalidation_set =
242 invalidation_map.ForObject(*ids_it); 234 invalidation_map.ForObject(*ids_it);
243 for (syncer::SingleObjectInvalidationSet::const_iterator inv_it = 235 for (syncer::SingleObjectInvalidationSet::const_iterator inv_it =
244 invalidation_set.begin(); 236 invalidation_set.begin();
245 inv_it != invalidation_set.end(); 237 inv_it != invalidation_set.end();
246 ++inv_it) { 238 ++inv_it) {
247 scoped_ptr<syncer::InvalidationInterface> inv_adapter( 239 scoped_ptr<syncer::InvalidationInterface> inv_adapter(
248 new InvalidationAdapter(*inv_it)); 240 new InvalidationAdapter(*inv_it));
249 sync_manager_->OnIncomingInvalidation(type, inv_adapter.Pass()); 241 sync_manager_->OnIncomingInvalidation(type, inv_adapter.Pass());
250 } 242 }
251 } 243 }
252 } 244 }
253 } 245 }
254 246
255 virtual std::string GetOwnerName() const override { 247 std::string GetOwnerName() const override { return "InvalidatorShim"; }
256 return "InvalidatorShim";
257 }
258 248
259 private: 249 private:
260 SyncManager* sync_manager_; 250 SyncManager* sync_manager_;
261 }; 251 };
262 252
263 void LogUnrecoverableErrorContext() { 253 void LogUnrecoverableErrorContext() {
264 base::debug::StackTrace().Print(); 254 base::debug::StackTrace().Print();
265 } 255 }
266 256
267 notifier::NotifierOptions ParseNotifierOptions( 257 notifier::NotifierOptions ParseNotifierOptions(
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 io_thread.Stop(); 454 io_thread.Stop();
465 return 0; 455 return 0;
466 } 456 }
467 457
468 } // namespace 458 } // namespace
469 } // namespace syncer 459 } // namespace syncer
470 460
471 int main(int argc, char* argv[]) { 461 int main(int argc, char* argv[]) {
472 return syncer::SyncClientMain(argc, argv); 462 return syncer::SyncClientMain(argc, argv);
473 } 463 }
OLDNEW
« no previous file with comments | « sync/tools/null_invalidation_state_tracker.h ('k') | sync/tools/sync_listen_notifications.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698