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

Side by Side Diff: sync/notifier/sync_system_resources.cc

Issue 10907070: [Sync] Rename classes in sync/ that start with Chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 8 years, 3 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 | Annotate | Revision Log
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 "sync/notifier/chrome_system_resources.h" 5 #include "sync/notifier/sync_system_resources.h"
6 6
7 #include <cstdlib> 7 #include <cstdlib>
8 #include <cstring> 8 #include <cstring>
9 #include <string> 9 #include <string>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/message_loop.h" 13 #include "base/message_loop.h"
14 #include "base/stl_util.h" 14 #include "base/stl_util.h"
15 #include "base/string_util.h" 15 #include "base/string_util.h"
16 #include "base/stringprintf.h" 16 #include "base/stringprintf.h"
17 #include "google/cacheinvalidation/deps/callback.h" 17 #include "google/cacheinvalidation/deps/callback.h"
18 #include "google/cacheinvalidation/include/types.h" 18 #include "google/cacheinvalidation/include/types.h"
19 #include "jingle/notifier/listener/push_client.h" 19 #include "jingle/notifier/listener/push_client.h"
20 #include "sync/notifier/invalidation_util.h" 20 #include "sync/notifier/invalidation_util.h"
21 21
22 namespace syncer { 22 namespace syncer {
23 23
24 ChromeLogger::ChromeLogger() {} 24 SyncLogger::SyncLogger() {}
25 ChromeLogger::~ChromeLogger() {} 25 SyncLogger::~SyncLogger() {}
26 26
27 void ChromeLogger::Log(LogLevel level, const char* file, int line, 27 void SyncLogger::Log(LogLevel level, const char* file, int line,
28 const char* format, ...) { 28 const char* format, ...) {
29 logging::LogSeverity log_severity = -2; // VLOG(2) 29 logging::LogSeverity log_severity = -2; // VLOG(2)
30 bool emit_log = false; 30 bool emit_log = false;
31 switch (level) { 31 switch (level) {
32 case FINE_LEVEL: 32 case FINE_LEVEL:
33 log_severity = -2; // VLOG(2) 33 log_severity = -2; // VLOG(2)
34 emit_log = VLOG_IS_ON(2); 34 emit_log = VLOG_IS_ON(2);
35 break; 35 break;
36 case INFO_LEVEL: 36 case INFO_LEVEL:
37 log_severity = -1; // VLOG(1) 37 log_severity = -1; // VLOG(1)
38 emit_log = VLOG_IS_ON(1); 38 emit_log = VLOG_IS_ON(1);
(...skipping 10 matching lines...) Expand all
49 if (emit_log) { 49 if (emit_log) {
50 va_list ap; 50 va_list ap;
51 va_start(ap, format); 51 va_start(ap, format);
52 std::string result; 52 std::string result;
53 base::StringAppendV(&result, format, ap); 53 base::StringAppendV(&result, format, ap);
54 logging::LogMessage(file, line, log_severity).stream() << result; 54 logging::LogMessage(file, line, log_severity).stream() << result;
55 va_end(ap); 55 va_end(ap);
56 } 56 }
57 } 57 }
58 58
59 void ChromeLogger::SetSystemResources( 59 void SyncLogger::SetSystemResources(invalidation::SystemResources* resources) {
60 invalidation::SystemResources* resources) {
61 // Do nothing. 60 // Do nothing.
62 } 61 }
63 62
64 ChromeScheduler::ChromeScheduler() 63 SyncInvalidationScheduler::SyncInvalidationScheduler()
65 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), 64 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
66 created_on_loop_(MessageLoop::current()), 65 created_on_loop_(MessageLoop::current()),
67 is_started_(false), 66 is_started_(false),
68 is_stopped_(false) { 67 is_stopped_(false) {
69 CHECK(created_on_loop_); 68 CHECK(created_on_loop_);
70 } 69 }
71 70
72 ChromeScheduler::~ChromeScheduler() { 71 SyncInvalidationScheduler::~SyncInvalidationScheduler() {
73 CHECK_EQ(created_on_loop_, MessageLoop::current()); 72 CHECK_EQ(created_on_loop_, MessageLoop::current());
74 CHECK(is_stopped_); 73 CHECK(is_stopped_);
75 } 74 }
76 75
77 void ChromeScheduler::Start() { 76 void SyncInvalidationScheduler::Start() {
78 CHECK_EQ(created_on_loop_, MessageLoop::current()); 77 CHECK_EQ(created_on_loop_, MessageLoop::current());
79 CHECK(!is_started_); 78 CHECK(!is_started_);
80 is_started_ = true; 79 is_started_ = true;
81 is_stopped_ = false; 80 is_stopped_ = false;
82 weak_factory_.InvalidateWeakPtrs(); 81 weak_factory_.InvalidateWeakPtrs();
83 } 82 }
84 83
85 void ChromeScheduler::Stop() { 84 void SyncInvalidationScheduler::Stop() {
86 CHECK_EQ(created_on_loop_, MessageLoop::current()); 85 CHECK_EQ(created_on_loop_, MessageLoop::current());
87 is_stopped_ = true; 86 is_stopped_ = true;
88 is_started_ = false; 87 is_started_ = false;
89 weak_factory_.InvalidateWeakPtrs(); 88 weak_factory_.InvalidateWeakPtrs();
90 STLDeleteElements(&posted_tasks_); 89 STLDeleteElements(&posted_tasks_);
91 posted_tasks_.clear(); 90 posted_tasks_.clear();
92 } 91 }
93 92
94 void ChromeScheduler::Schedule(invalidation::TimeDelta delay, 93 void SyncInvalidationScheduler::Schedule(invalidation::TimeDelta delay,
95 invalidation::Closure* task) { 94 invalidation::Closure* task) {
96 DCHECK(invalidation::IsCallbackRepeatable(task)); 95 DCHECK(invalidation::IsCallbackRepeatable(task));
97 CHECK_EQ(created_on_loop_, MessageLoop::current()); 96 CHECK_EQ(created_on_loop_, MessageLoop::current());
98 97
99 if (!is_started_) { 98 if (!is_started_) {
100 delete task; 99 delete task;
101 return; 100 return;
102 } 101 }
103 102
104 posted_tasks_.insert(task); 103 posted_tasks_.insert(task);
105 MessageLoop::current()->PostDelayedTask( 104 MessageLoop::current()->PostDelayedTask(
106 FROM_HERE, base::Bind(&ChromeScheduler::RunPostedTask, 105 FROM_HERE, base::Bind(&SyncInvalidationScheduler::RunPostedTask,
107 weak_factory_.GetWeakPtr(), task), 106 weak_factory_.GetWeakPtr(), task),
108 delay); 107 delay);
109 } 108 }
110 109
111 bool ChromeScheduler::IsRunningOnThread() const { 110 bool SyncInvalidationScheduler::IsRunningOnThread() const {
112 return created_on_loop_ == MessageLoop::current(); 111 return created_on_loop_ == MessageLoop::current();
113 } 112 }
114 113
115 invalidation::Time ChromeScheduler::GetCurrentTime() const { 114 invalidation::Time SyncInvalidationScheduler::GetCurrentTime() const {
116 CHECK_EQ(created_on_loop_, MessageLoop::current()); 115 CHECK_EQ(created_on_loop_, MessageLoop::current());
117 return base::Time::Now(); 116 return base::Time::Now();
118 } 117 }
119 118
120 void ChromeScheduler::SetSystemResources( 119 void SyncInvalidationScheduler::SetSystemResources(
121 invalidation::SystemResources* resources) { 120 invalidation::SystemResources* resources) {
122 // Do nothing. 121 // Do nothing.
123 } 122 }
124 123
125 void ChromeScheduler::RunPostedTask(invalidation::Closure* task) { 124 void SyncInvalidationScheduler::RunPostedTask(invalidation::Closure* task) {
126 CHECK_EQ(created_on_loop_, MessageLoop::current()); 125 CHECK_EQ(created_on_loop_, MessageLoop::current());
127 task->Run(); 126 task->Run();
128 posted_tasks_.erase(task); 127 posted_tasks_.erase(task);
129 delete task; 128 delete task;
130 } 129 }
131 130
132 ChromeStorage::ChromeStorage(StateWriter* state_writer, 131 SyncStorage::SyncStorage(StateWriter* state_writer,
133 invalidation::Scheduler* scheduler) 132 invalidation::Scheduler* scheduler)
134 : state_writer_(state_writer), 133 : state_writer_(state_writer),
135 scheduler_(scheduler) { 134 scheduler_(scheduler) {
136 DCHECK(state_writer_); 135 DCHECK(state_writer_);
137 DCHECK(scheduler_); 136 DCHECK(scheduler_);
138 } 137 }
139 138
140 ChromeStorage::~ChromeStorage() {} 139 SyncStorage::~SyncStorage() {}
141 140
142 void ChromeStorage::WriteKey(const std::string& key, const std::string& value, 141 void SyncStorage::WriteKey(const std::string& key, const std::string& value,
143 invalidation::WriteKeyCallback* done) { 142 invalidation::WriteKeyCallback* done) {
144 CHECK(state_writer_); 143 CHECK(state_writer_);
145 // TODO(ghc): actually write key,value associations, and don't invoke the 144 // TODO(ghc): actually write key,value associations, and don't invoke the
146 // callback until the operation completes. 145 // callback until the operation completes.
147 state_writer_->WriteState(value); 146 state_writer_->WriteState(value);
148 cached_state_ = value; 147 cached_state_ = value;
149 // According to the cache invalidation API folks, we can do this as 148 // According to the cache invalidation API folks, we can do this as
150 // long as we make sure to clear the persistent state that we start 149 // long as we make sure to clear the persistent state that we start
151 // up the cache invalidation client with. However, we musn't do it 150 // up the cache invalidation client with. However, we musn't do it
152 // right away, as we may be called under a lock that the callback 151 // right away, as we may be called under a lock that the callback
153 // uses. 152 // uses.
154 scheduler_->Schedule( 153 scheduler_->Schedule(
155 invalidation::Scheduler::NoDelay(), 154 invalidation::Scheduler::NoDelay(),
156 invalidation::NewPermanentCallback( 155 invalidation::NewPermanentCallback(
157 this, &ChromeStorage::RunAndDeleteWriteKeyCallback, 156 this, &SyncStorage::RunAndDeleteWriteKeyCallback,
158 done)); 157 done));
159 } 158 }
160 159
161 void ChromeStorage::ReadKey(const std::string& key, 160 void SyncStorage::ReadKey(const std::string& key,
162 invalidation::ReadKeyCallback* done) { 161 invalidation::ReadKeyCallback* done) {
163 DCHECK(scheduler_->IsRunningOnThread()) << "not running on scheduler thread"; 162 DCHECK(scheduler_->IsRunningOnThread()) << "not running on scheduler thread";
164 RunAndDeleteReadKeyCallback(done, cached_state_); 163 RunAndDeleteReadKeyCallback(done, cached_state_);
165 } 164 }
166 165
167 void ChromeStorage::DeleteKey(const std::string& key, 166 void SyncStorage::DeleteKey(const std::string& key,
168 invalidation::DeleteKeyCallback* done) { 167 invalidation::DeleteKeyCallback* done) {
169 // TODO(ghc): Implement. 168 // TODO(ghc): Implement.
170 LOG(WARNING) << "ignoring call to DeleteKey(" << key << ", callback)"; 169 LOG(WARNING) << "ignoring call to DeleteKey(" << key << ", callback)";
171 } 170 }
172 171
173 void ChromeStorage::ReadAllKeys(invalidation::ReadAllKeysCallback* done) { 172 void SyncStorage::ReadAllKeys(invalidation::ReadAllKeysCallback* done) {
174 // TODO(ghc): Implement. 173 // TODO(ghc): Implement.
175 LOG(WARNING) << "ignoring call to ReadAllKeys(callback)"; 174 LOG(WARNING) << "ignoring call to ReadAllKeys(callback)";
176 } 175 }
177 176
178 void ChromeStorage::SetSystemResources( 177 void SyncStorage::SetSystemResources(
179 invalidation::SystemResources* resources) { 178 invalidation::SystemResources* resources) {
180 // Do nothing. 179 // Do nothing.
181 } 180 }
182 181
183 void ChromeStorage::RunAndDeleteWriteKeyCallback( 182 void SyncStorage::RunAndDeleteWriteKeyCallback(
184 invalidation::WriteKeyCallback* callback) { 183 invalidation::WriteKeyCallback* callback) {
185 callback->Run(invalidation::Status(invalidation::Status::SUCCESS, "")); 184 callback->Run(invalidation::Status(invalidation::Status::SUCCESS, ""));
186 delete callback; 185 delete callback;
187 } 186 }
188 187
189 void ChromeStorage::RunAndDeleteReadKeyCallback( 188 void SyncStorage::RunAndDeleteReadKeyCallback(
190 invalidation::ReadKeyCallback* callback, const std::string& value) { 189 invalidation::ReadKeyCallback* callback, const std::string& value) {
191 callback->Run(std::make_pair( 190 callback->Run(std::make_pair(
192 invalidation::Status(invalidation::Status::SUCCESS, ""), 191 invalidation::Status(invalidation::Status::SUCCESS, ""),
193 value)); 192 value));
194 delete callback; 193 delete callback;
195 } 194 }
196 195
197 ChromeSystemResources::ChromeSystemResources( 196 SyncSystemResources::SyncSystemResources(
198 scoped_ptr<notifier::PushClient> push_client, 197 scoped_ptr<notifier::PushClient> push_client,
199 StateWriter* state_writer) 198 StateWriter* state_writer)
200 : is_started_(false), 199 : is_started_(false),
201 logger_(new ChromeLogger()), 200 logger_(new SyncLogger()),
202 internal_scheduler_(new ChromeScheduler()), 201 internal_scheduler_(new SyncInvalidationScheduler()),
203 listener_scheduler_(new ChromeScheduler()), 202 listener_scheduler_(new SyncInvalidationScheduler()),
204 storage_(new ChromeStorage(state_writer, internal_scheduler_.get())), 203 storage_(new SyncStorage(state_writer, internal_scheduler_.get())),
205 push_client_channel_(push_client.Pass()) { 204 push_client_channel_(push_client.Pass()) {
206 } 205 }
207 206
208 ChromeSystemResources::~ChromeSystemResources() { 207 SyncSystemResources::~SyncSystemResources() {
209 Stop(); 208 Stop();
210 } 209 }
211 210
212 void ChromeSystemResources::Start() { 211 void SyncSystemResources::Start() {
213 internal_scheduler_->Start(); 212 internal_scheduler_->Start();
214 listener_scheduler_->Start(); 213 listener_scheduler_->Start();
215 is_started_ = true; 214 is_started_ = true;
216 } 215 }
217 216
218 void ChromeSystemResources::Stop() { 217 void SyncSystemResources::Stop() {
219 internal_scheduler_->Stop(); 218 internal_scheduler_->Stop();
220 listener_scheduler_->Stop(); 219 listener_scheduler_->Stop();
221 } 220 }
222 221
223 bool ChromeSystemResources::IsStarted() const { 222 bool SyncSystemResources::IsStarted() const {
224 return is_started_; 223 return is_started_;
225 } 224 }
226 225
227 void ChromeSystemResources::set_platform(const std::string& platform) { 226 void SyncSystemResources::set_platform(const std::string& platform) {
228 platform_ = platform; 227 platform_ = platform;
229 } 228 }
230 229
231 std::string ChromeSystemResources::platform() const { 230 std::string SyncSystemResources::platform() const {
232 return platform_; 231 return platform_;
233 } 232 }
234 233
235 ChromeLogger* ChromeSystemResources::logger() { 234 SyncLogger* SyncSystemResources::logger() {
236 return logger_.get(); 235 return logger_.get();
237 } 236 }
238 237
239 ChromeStorage* ChromeSystemResources::storage() { 238 SyncStorage* SyncSystemResources::storage() {
240 return storage_.get(); 239 return storage_.get();
241 } 240 }
242 241
243 PushClientChannel* ChromeSystemResources::network() { 242 PushClientChannel* SyncSystemResources::network() {
244 return &push_client_channel_; 243 return &push_client_channel_;
245 } 244 }
246 245
247 ChromeScheduler* ChromeSystemResources::internal_scheduler() { 246 SyncInvalidationScheduler* SyncSystemResources::internal_scheduler() {
248 return internal_scheduler_.get(); 247 return internal_scheduler_.get();
249 } 248 }
250 249
251 ChromeScheduler* ChromeSystemResources::listener_scheduler() { 250 SyncInvalidationScheduler* SyncSystemResources::listener_scheduler() {
252 return listener_scheduler_.get(); 251 return listener_scheduler_.get();
253 } 252 }
254 253
255 } // namespace syncer 254 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698