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

Side by Side Diff: chrome/browser/chromeos/system/syslogs_provider.cc

Issue 137263007: Move CancelableTaskTracker to //base/task/CancelableTaskTracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move to base/task/cancelable_task_tracker* Created 6 years, 10 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
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 "chrome/browser/chromeos/system/syslogs_provider.h" 5 #include "chrome/browser/chromeos/system/syslogs_provider.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 175 }
176 176
177 return logs; 177 return logs;
178 } 178 }
179 179
180 } // namespace 180 } // namespace
181 181
182 class SyslogsProviderImpl : public SyslogsProvider { 182 class SyslogsProviderImpl : public SyslogsProvider {
183 public: 183 public:
184 // SyslogsProvider implementation: 184 // SyslogsProvider implementation:
185 virtual CancelableTaskTracker::TaskId RequestSyslogs( 185 virtual base::CancelableTaskTracker::TaskId RequestSyslogs(
186 bool compress_logs, 186 bool compress_logs,
187 SyslogsContext context, 187 SyslogsContext context,
188 const ReadCompleteCallback& callback, 188 const ReadCompleteCallback& callback,
189 CancelableTaskTracker* tracker) OVERRIDE; 189 base::CancelableTaskTracker* tracker) OVERRIDE;
190 190
191 static SyslogsProviderImpl* GetInstance(); 191 static SyslogsProviderImpl* GetInstance();
192 192
193 private: 193 private:
194 friend struct DefaultSingletonTraits<SyslogsProviderImpl>; 194 friend struct DefaultSingletonTraits<SyslogsProviderImpl>;
195 195
196 // Reads system logs, compresses content if requested. 196 // Reads system logs, compresses content if requested.
197 // Called from blocking pool thread. 197 // Called from blocking pool thread.
198 void ReadSyslogs( 198 void ReadSyslogs(
199 const CancelableTaskTracker::IsCanceledCallback& is_canceled, 199 const base::CancelableTaskTracker::IsCanceledCallback& is_canceled,
200 bool compress_logs, 200 bool compress_logs,
201 SyslogsContext context, 201 SyslogsContext context,
202 const ReadCompleteCallback& callback); 202 const ReadCompleteCallback& callback);
203 203
204 // Loads compressed logs and writes into |zip_content|. 204 // Loads compressed logs and writes into |zip_content|.
205 void LoadCompressedLogs(const base::FilePath& zip_file, 205 void LoadCompressedLogs(const base::FilePath& zip_file,
206 std::string* zip_content); 206 std::string* zip_content);
207 207
208 SyslogsProviderImpl(); 208 SyslogsProviderImpl();
209 209
210 // Gets syslogs context string from the enum value. 210 // Gets syslogs context string from the enum value.
211 const char* GetSyslogsContextString(SyslogsContext context); 211 const char* GetSyslogsContextString(SyslogsContext context);
212 212
213 // If not canceled, run callback on originating thread (the thread on which 213 // If not canceled, run callback on originating thread (the thread on which
214 // ReadSyslogs was run). 214 // ReadSyslogs was run).
215 static void RunCallbackIfNotCanceled( 215 static void RunCallbackIfNotCanceled(
216 const CancelableTaskTracker::IsCanceledCallback& is_canceled, 216 const base::CancelableTaskTracker::IsCanceledCallback& is_canceled,
217 base::TaskRunner* origin_runner, 217 base::TaskRunner* origin_runner,
218 const ReadCompleteCallback& callback, 218 const ReadCompleteCallback& callback,
219 LogDictionaryType* logs, 219 LogDictionaryType* logs,
220 std::string* zip_content); 220 std::string* zip_content);
221 221
222 DISALLOW_COPY_AND_ASSIGN(SyslogsProviderImpl); 222 DISALLOW_COPY_AND_ASSIGN(SyslogsProviderImpl);
223 }; 223 };
224 224
225 SyslogsProviderImpl::SyslogsProviderImpl() { 225 SyslogsProviderImpl::SyslogsProviderImpl() {
226 } 226 }
227 227
228 CancelableTaskTracker::TaskId SyslogsProviderImpl::RequestSyslogs( 228 base::CancelableTaskTracker::TaskId SyslogsProviderImpl::RequestSyslogs(
229 bool compress_logs, 229 bool compress_logs,
230 SyslogsContext context, 230 SyslogsContext context,
231 const ReadCompleteCallback& callback, 231 const ReadCompleteCallback& callback,
232 CancelableTaskTracker* tracker) { 232 base::CancelableTaskTracker* tracker) {
233 CancelableTaskTracker::IsCanceledCallback is_canceled; 233 base::CancelableTaskTracker::IsCanceledCallback is_canceled;
234 CancelableTaskTracker::TaskId id = tracker->NewTrackedTaskId(&is_canceled); 234 base::CancelableTaskTracker::TaskId id =
235 tracker->NewTrackedTaskId(&is_canceled);
235 236
236 ReadCompleteCallback callback_runner = 237 ReadCompleteCallback callback_runner =
237 base::Bind(&SyslogsProviderImpl::RunCallbackIfNotCanceled, 238 base::Bind(&SyslogsProviderImpl::RunCallbackIfNotCanceled,
238 is_canceled, base::MessageLoopProxy::current(), callback); 239 is_canceled, base::MessageLoopProxy::current(), callback);
239 240
240 // Schedule a task which will run the callback later when complete. 241 // Schedule a task which will run the callback later when complete.
241 BrowserThread::PostBlockingPoolTask( 242 BrowserThread::PostBlockingPoolTask(
242 FROM_HERE, 243 FROM_HERE,
243 base::Bind(&SyslogsProviderImpl::ReadSyslogs, base::Unretained(this), 244 base::Bind(&SyslogsProviderImpl::ReadSyslogs, base::Unretained(this),
244 is_canceled, compress_logs, context, callback_runner)); 245 is_canceled, compress_logs, context, callback_runner));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 289
289 void SyslogsMemoryHandler::OnDetailsAvailable() { 290 void SyslogsMemoryHandler::OnDetailsAvailable() {
290 (*logs_)["mem_usage"] = ToLogString(); 291 (*logs_)["mem_usage"] = ToLogString();
291 callback_.Run(logs_, zip_content_); 292 callback_.Run(logs_, zip_content_);
292 } 293 }
293 294
294 SyslogsMemoryHandler::~SyslogsMemoryHandler() {} 295 SyslogsMemoryHandler::~SyslogsMemoryHandler() {}
295 296
296 // Called from blocking pool thread. 297 // Called from blocking pool thread.
297 void SyslogsProviderImpl::ReadSyslogs( 298 void SyslogsProviderImpl::ReadSyslogs(
298 const CancelableTaskTracker::IsCanceledCallback& is_canceled, 299 const base::CancelableTaskTracker::IsCanceledCallback& is_canceled,
299 bool compress_logs, 300 bool compress_logs,
300 SyslogsContext context, 301 SyslogsContext context,
301 const ReadCompleteCallback& callback) { 302 const ReadCompleteCallback& callback) {
302 DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); 303 DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
303 304
304 if (is_canceled.Run()) 305 if (is_canceled.Run())
305 return; 306 return;
306 307
307 // Create temp file. 308 // Create temp file.
308 base::FilePath zip_file; 309 base::FilePath zip_file;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 case(SYSLOGS_DEFAULT): 367 case(SYSLOGS_DEFAULT):
367 return kContextSysInfo; 368 return kContextSysInfo;
368 default: 369 default:
369 NOTREACHED(); 370 NOTREACHED();
370 return ""; 371 return "";
371 } 372 }
372 } 373 }
373 374
374 // static 375 // static
375 void SyslogsProviderImpl::RunCallbackIfNotCanceled( 376 void SyslogsProviderImpl::RunCallbackIfNotCanceled(
376 const CancelableTaskTracker::IsCanceledCallback& is_canceled, 377 const base::CancelableTaskTracker::IsCanceledCallback& is_canceled,
377 base::TaskRunner* origin_runner, 378 base::TaskRunner* origin_runner,
378 const ReadCompleteCallback& callback, 379 const ReadCompleteCallback& callback,
379 LogDictionaryType* logs, 380 LogDictionaryType* logs,
380 std::string* zip_content) { 381 std::string* zip_content) {
381 DCHECK(!is_canceled.is_null() && !callback.is_null()); 382 DCHECK(!is_canceled.is_null() && !callback.is_null());
382 383
383 if (is_canceled.Run()) { 384 if (is_canceled.Run()) {
384 delete logs; 385 delete logs;
385 delete zip_content; 386 delete zip_content;
386 return; 387 return;
(...skipping 11 matching lines...) Expand all
398 return Singleton<SyslogsProviderImpl, 399 return Singleton<SyslogsProviderImpl,
399 DefaultSingletonTraits<SyslogsProviderImpl> >::get(); 400 DefaultSingletonTraits<SyslogsProviderImpl> >::get();
400 } 401 }
401 402
402 SyslogsProvider* SyslogsProvider::GetInstance() { 403 SyslogsProvider* SyslogsProvider::GetInstance() {
403 return SyslogsProviderImpl::GetInstance(); 404 return SyslogsProviderImpl::GetInstance();
404 } 405 }
405 406
406 } // namespace system 407 } // namespace system
407 } // namespace chromeos 408 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/system/syslogs_provider.h ('k') | chrome/browser/chromeos/version_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698