Index: components/profile_service/profile_app.cc |
diff --git a/components/profile_service/profile_app.cc b/components/profile_service/profile_app.cc |
deleted file mode 100644 |
index 3e3914b2a1f131c137cb886c50f407a15f4a768f..0000000000000000000000000000000000000000 |
--- a/components/profile_service/profile_app.cc |
+++ /dev/null |
@@ -1,127 +0,0 @@ |
-// Copyright 2016 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 "components/profile_service/profile_app.h" |
- |
-#include "base/bind.h" |
-#include "base/memory/weak_ptr.h" |
-#include "components/filesystem/lock_table.h" |
-#include "components/leveldb/leveldb_service_impl.h" |
-#include "components/profile_service/profile_service_impl.h" |
-#include "components/profile_service/user_id_map.h" |
-#include "mojo/public/cpp/bindings/callback.h" |
-#include "services/shell/public/cpp/connection.h" |
- |
-namespace profile { |
- |
-class ProfileApp::ProfileServiceObjects |
- : public base::SupportsWeakPtr<ProfileServiceObjects> { |
- public: |
- // Created on the main thread. |
- ProfileServiceObjects(base::FilePath profile_data_dir) |
- : profile_data_dir_(profile_data_dir) {} |
- |
- // Destroyed on the |profile_service_runner_|. |
- ~ProfileServiceObjects() {} |
- |
- // Called on the |profile_service_runner_|. |
- void OnProfileServiceRequest(mojo::Connection* connection, |
- ProfileServiceRequest request) { |
- if (!lock_table_) |
- lock_table_ = new filesystem::LockTable; |
- profile_service_bindings_.AddBinding( |
- new ProfileServiceImpl(profile_data_dir_, lock_table_), |
- std::move(request)); |
- } |
- |
- private: |
- mojo::BindingSet<ProfileService> profile_service_bindings_; |
- scoped_refptr<filesystem::LockTable> lock_table_; |
- base::FilePath profile_data_dir_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ProfileServiceObjects); |
-}; |
- |
-class ProfileApp::LevelDBServiceObjects |
- : public base::SupportsWeakPtr<LevelDBServiceObjects> { |
- public: |
- // Created on the main thread. |
- LevelDBServiceObjects(scoped_refptr<base::SingleThreadTaskRunner> task_runner) |
- : task_runner_(std::move(task_runner)) {} |
- |
- // Destroyed on the |leveldb_service_runner_|. |
- ~LevelDBServiceObjects() {} |
- |
- // Called on the |leveldb_service_runner_|. |
- void OnLevelDBServiceRequest(mojo::Connection* connection, |
- leveldb::LevelDBServiceRequest request) { |
- if (!leveldb_service_) |
- leveldb_service_.reset(new leveldb::LevelDBServiceImpl(task_runner_)); |
- leveldb_bindings_.AddBinding(leveldb_service_.get(), std::move(request)); |
- } |
- |
- private: |
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- |
- // Variables that are only accessible on the |leveldb_service_runner_| thread. |
- scoped_ptr<leveldb::LevelDBService> leveldb_service_; |
- mojo::BindingSet<leveldb::LevelDBService> leveldb_bindings_; |
- |
- DISALLOW_COPY_AND_ASSIGN(LevelDBServiceObjects); |
-}; |
- |
-scoped_ptr<mojo::ShellClient> CreateProfileApp( |
- scoped_refptr<base::SingleThreadTaskRunner> profile_service_runner, |
- scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner) { |
- return make_scoped_ptr(new ProfileApp( |
- std::move(profile_service_runner), |
- std::move(leveldb_service_runner))); |
-} |
- |
-ProfileApp::ProfileApp( |
- scoped_refptr<base::SingleThreadTaskRunner> profile_service_runner, |
- scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner) |
- : profile_service_runner_(std::move(profile_service_runner)), |
- leveldb_service_runner_(std::move(leveldb_service_runner)) {} |
- |
-ProfileApp::~ProfileApp() { |
- profile_service_runner_->DeleteSoon(FROM_HERE, profile_objects_.release()); |
- leveldb_service_runner_->DeleteSoon(FROM_HERE, leveldb_objects_.release()); |
-} |
- |
-void ProfileApp::Initialize(mojo::Connector* connector, |
- const mojo::Identity& identity, |
- uint32_t id) { |
- tracing_.Initialize(connector, identity.name()); |
- profile_objects_.reset(new ProfileApp::ProfileServiceObjects( |
- GetProfileDirForUserID(identity.user_id()))); |
- leveldb_objects_.reset( |
- new ProfileApp::LevelDBServiceObjects(leveldb_service_runner_)); |
-} |
- |
-bool ProfileApp::AcceptConnection(mojo::Connection* connection) { |
- connection->AddInterface<leveldb::LevelDBService>(this); |
- connection->AddInterface<ProfileService>(this); |
- return true; |
-} |
- |
-void ProfileApp::Create(mojo::Connection* connection, |
- ProfileServiceRequest request) { |
- profile_service_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&ProfileApp::ProfileServiceObjects::OnProfileServiceRequest, |
- profile_objects_->AsWeakPtr(), connection, |
- base::Passed(&request))); |
-} |
- |
-void ProfileApp::Create(mojo::Connection* connection, |
- leveldb::LevelDBServiceRequest request) { |
- leveldb_service_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&ProfileApp::LevelDBServiceObjects::OnLevelDBServiceRequest, |
- leveldb_objects_->AsWeakPtr(), connection, |
- base::Passed(&request))); |
-} |
- |
-} // namespace profile |