| Index: sync/notifier/chrome_system_resources.cc
|
| diff --git a/sync/notifier/chrome_system_resources.cc b/sync/notifier/chrome_system_resources.cc
|
| deleted file mode 100644
|
| index af4cf9a31695c452a8b51b8439ac1717a6b1872e..0000000000000000000000000000000000000000
|
| --- a/sync/notifier/chrome_system_resources.cc
|
| +++ /dev/null
|
| @@ -1,255 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "sync/notifier/chrome_system_resources.h"
|
| -
|
| -#include <cstdlib>
|
| -#include <cstring>
|
| -#include <string>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/logging.h"
|
| -#include "base/message_loop.h"
|
| -#include "base/stl_util.h"
|
| -#include "base/string_util.h"
|
| -#include "base/stringprintf.h"
|
| -#include "google/cacheinvalidation/deps/callback.h"
|
| -#include "google/cacheinvalidation/include/types.h"
|
| -#include "jingle/notifier/listener/push_client.h"
|
| -#include "sync/notifier/invalidation_util.h"
|
| -
|
| -namespace syncer {
|
| -
|
| -ChromeLogger::ChromeLogger() {}
|
| -ChromeLogger::~ChromeLogger() {}
|
| -
|
| -void ChromeLogger::Log(LogLevel level, const char* file, int line,
|
| - const char* format, ...) {
|
| - logging::LogSeverity log_severity = -2; // VLOG(2)
|
| - bool emit_log = false;
|
| - switch (level) {
|
| - case FINE_LEVEL:
|
| - log_severity = -2; // VLOG(2)
|
| - emit_log = VLOG_IS_ON(2);
|
| - break;
|
| - case INFO_LEVEL:
|
| - log_severity = -1; // VLOG(1)
|
| - emit_log = VLOG_IS_ON(1);
|
| - break;
|
| - case WARNING_LEVEL:
|
| - log_severity = logging::LOG_WARNING;
|
| - emit_log = LOG_IS_ON(WARNING);
|
| - break;
|
| - case SEVERE_LEVEL:
|
| - log_severity = logging::LOG_ERROR;
|
| - emit_log = LOG_IS_ON(ERROR);
|
| - break;
|
| - }
|
| - if (emit_log) {
|
| - va_list ap;
|
| - va_start(ap, format);
|
| - std::string result;
|
| - base::StringAppendV(&result, format, ap);
|
| - logging::LogMessage(file, line, log_severity).stream() << result;
|
| - va_end(ap);
|
| - }
|
| -}
|
| -
|
| -void ChromeLogger::SetSystemResources(
|
| - invalidation::SystemResources* resources) {
|
| - // Do nothing.
|
| -}
|
| -
|
| -ChromeScheduler::ChromeScheduler()
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
|
| - created_on_loop_(MessageLoop::current()),
|
| - is_started_(false),
|
| - is_stopped_(false) {
|
| - CHECK(created_on_loop_);
|
| -}
|
| -
|
| -ChromeScheduler::~ChromeScheduler() {
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| - CHECK(is_stopped_);
|
| -}
|
| -
|
| -void ChromeScheduler::Start() {
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| - CHECK(!is_started_);
|
| - is_started_ = true;
|
| - is_stopped_ = false;
|
| - weak_factory_.InvalidateWeakPtrs();
|
| -}
|
| -
|
| -void ChromeScheduler::Stop() {
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| - is_stopped_ = true;
|
| - is_started_ = false;
|
| - weak_factory_.InvalidateWeakPtrs();
|
| - STLDeleteElements(&posted_tasks_);
|
| - posted_tasks_.clear();
|
| -}
|
| -
|
| -void ChromeScheduler::Schedule(invalidation::TimeDelta delay,
|
| - invalidation::Closure* task) {
|
| - DCHECK(invalidation::IsCallbackRepeatable(task));
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| -
|
| - if (!is_started_) {
|
| - delete task;
|
| - return;
|
| - }
|
| -
|
| - posted_tasks_.insert(task);
|
| - MessageLoop::current()->PostDelayedTask(
|
| - FROM_HERE, base::Bind(&ChromeScheduler::RunPostedTask,
|
| - weak_factory_.GetWeakPtr(), task),
|
| - delay);
|
| -}
|
| -
|
| -bool ChromeScheduler::IsRunningOnThread() const {
|
| - return created_on_loop_ == MessageLoop::current();
|
| -}
|
| -
|
| -invalidation::Time ChromeScheduler::GetCurrentTime() const {
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| - return base::Time::Now();
|
| -}
|
| -
|
| -void ChromeScheduler::SetSystemResources(
|
| - invalidation::SystemResources* resources) {
|
| - // Do nothing.
|
| -}
|
| -
|
| -void ChromeScheduler::RunPostedTask(invalidation::Closure* task) {
|
| - CHECK_EQ(created_on_loop_, MessageLoop::current());
|
| - task->Run();
|
| - posted_tasks_.erase(task);
|
| - delete task;
|
| -}
|
| -
|
| -ChromeStorage::ChromeStorage(StateWriter* state_writer,
|
| - invalidation::Scheduler* scheduler)
|
| - : state_writer_(state_writer),
|
| - scheduler_(scheduler) {
|
| - DCHECK(state_writer_);
|
| - DCHECK(scheduler_);
|
| -}
|
| -
|
| -ChromeStorage::~ChromeStorage() {}
|
| -
|
| -void ChromeStorage::WriteKey(const std::string& key, const std::string& value,
|
| - invalidation::WriteKeyCallback* done) {
|
| - CHECK(state_writer_);
|
| - // TODO(ghc): actually write key,value associations, and don't invoke the
|
| - // callback until the operation completes.
|
| - state_writer_->WriteState(value);
|
| - cached_state_ = value;
|
| - // According to the cache invalidation API folks, we can do this as
|
| - // long as we make sure to clear the persistent state that we start
|
| - // up the cache invalidation client with. However, we musn't do it
|
| - // right away, as we may be called under a lock that the callback
|
| - // uses.
|
| - scheduler_->Schedule(
|
| - invalidation::Scheduler::NoDelay(),
|
| - invalidation::NewPermanentCallback(
|
| - this, &ChromeStorage::RunAndDeleteWriteKeyCallback,
|
| - done));
|
| -}
|
| -
|
| -void ChromeStorage::ReadKey(const std::string& key,
|
| - invalidation::ReadKeyCallback* done) {
|
| - DCHECK(scheduler_->IsRunningOnThread()) << "not running on scheduler thread";
|
| - RunAndDeleteReadKeyCallback(done, cached_state_);
|
| -}
|
| -
|
| -void ChromeStorage::DeleteKey(const std::string& key,
|
| - invalidation::DeleteKeyCallback* done) {
|
| - // TODO(ghc): Implement.
|
| - LOG(WARNING) << "ignoring call to DeleteKey(" << key << ", callback)";
|
| -}
|
| -
|
| -void ChromeStorage::ReadAllKeys(invalidation::ReadAllKeysCallback* done) {
|
| - // TODO(ghc): Implement.
|
| - LOG(WARNING) << "ignoring call to ReadAllKeys(callback)";
|
| -}
|
| -
|
| -void ChromeStorage::SetSystemResources(
|
| - invalidation::SystemResources* resources) {
|
| - // Do nothing.
|
| -}
|
| -
|
| -void ChromeStorage::RunAndDeleteWriteKeyCallback(
|
| - invalidation::WriteKeyCallback* callback) {
|
| - callback->Run(invalidation::Status(invalidation::Status::SUCCESS, ""));
|
| - delete callback;
|
| -}
|
| -
|
| -void ChromeStorage::RunAndDeleteReadKeyCallback(
|
| - invalidation::ReadKeyCallback* callback, const std::string& value) {
|
| - callback->Run(std::make_pair(
|
| - invalidation::Status(invalidation::Status::SUCCESS, ""),
|
| - value));
|
| - delete callback;
|
| -}
|
| -
|
| -ChromeSystemResources::ChromeSystemResources(
|
| - scoped_ptr<notifier::PushClient> push_client,
|
| - StateWriter* state_writer)
|
| - : is_started_(false),
|
| - logger_(new ChromeLogger()),
|
| - internal_scheduler_(new ChromeScheduler()),
|
| - listener_scheduler_(new ChromeScheduler()),
|
| - storage_(new ChromeStorage(state_writer, internal_scheduler_.get())),
|
| - push_client_channel_(push_client.Pass()) {
|
| -}
|
| -
|
| -ChromeSystemResources::~ChromeSystemResources() {
|
| - Stop();
|
| -}
|
| -
|
| -void ChromeSystemResources::Start() {
|
| - internal_scheduler_->Start();
|
| - listener_scheduler_->Start();
|
| - is_started_ = true;
|
| -}
|
| -
|
| -void ChromeSystemResources::Stop() {
|
| - internal_scheduler_->Stop();
|
| - listener_scheduler_->Stop();
|
| -}
|
| -
|
| -bool ChromeSystemResources::IsStarted() const {
|
| - return is_started_;
|
| -}
|
| -
|
| -void ChromeSystemResources::set_platform(const std::string& platform) {
|
| - platform_ = platform;
|
| -}
|
| -
|
| -std::string ChromeSystemResources::platform() const {
|
| - return platform_;
|
| -}
|
| -
|
| -ChromeLogger* ChromeSystemResources::logger() {
|
| - return logger_.get();
|
| -}
|
| -
|
| -ChromeStorage* ChromeSystemResources::storage() {
|
| - return storage_.get();
|
| -}
|
| -
|
| -PushClientChannel* ChromeSystemResources::network() {
|
| - return &push_client_channel_;
|
| -}
|
| -
|
| -ChromeScheduler* ChromeSystemResources::internal_scheduler() {
|
| - return internal_scheduler_.get();
|
| -}
|
| -
|
| -ChromeScheduler* ChromeSystemResources::listener_scheduler() {
|
| - return listener_scheduler_.get();
|
| -}
|
| -
|
| -} // namespace syncer
|
|
|