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

Side by Side Diff: services/service_manager/public/cpp/lib/binder_registry.cc

Issue 2844063003: Migrate RenderFrameImpl to use BinderRegistry. (Closed)
Patch Set: . Created 3 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "services/service_manager/public/cpp/binder_registry.h" 5 #include "services/service_manager/public/cpp/binder_registry.h"
6 6
7 #include "services/service_manager/public/cpp/identity.h" 7 #include "services/service_manager/public/cpp/identity.h"
8 8
9 namespace service_manager { 9 namespace service_manager {
10 10
11 BinderRegistry::BinderRegistry() {} 11 BinderRegistry::BinderRegistry() : weak_factory_(this) {}
12 BinderRegistry::~BinderRegistry() {} 12 BinderRegistry::~BinderRegistry() {}
13 13
14 void BinderRegistry::AddInterface( 14 void BinderRegistry::AddInterface(
15 const std::string& interface_name, 15 const std::string& interface_name,
16 const base::Callback<void(mojo::ScopedMessagePipeHandle)>& callback, 16 const base::Callback<void(mojo::ScopedMessagePipeHandle)>& callback,
17 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { 17 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
18 SetInterfaceBinder( 18 SetInterfaceBinder(
19 interface_name, 19 interface_name,
20 base::MakeUnique<internal::GenericCallbackBinder>(callback, task_runner)); 20 base::MakeUnique<internal::GenericCallbackBinder>(callback, task_runner));
21 } 21 }
(...skipping 15 matching lines...) Expand all
37 mojo::ScopedMessagePipeHandle interface_pipe) { 37 mojo::ScopedMessagePipeHandle interface_pipe) {
38 auto it = binders_.find(interface_name); 38 auto it = binders_.find(interface_name);
39 if (it != binders_.end()) { 39 if (it != binders_.end()) {
40 it->second->BindInterface(remote_identity, interface_name, 40 it->second->BindInterface(remote_identity, interface_name,
41 std::move(interface_pipe)); 41 std::move(interface_pipe));
42 } else { 42 } else {
43 LOG(ERROR) << "Failed to locate a binder for interface: " << interface_name; 43 LOG(ERROR) << "Failed to locate a binder for interface: " << interface_name;
44 } 44 }
45 } 45 }
46 46
47 base::WeakPtr<BinderRegistry> BinderRegistry::GetWeakPtr() {
48 return weak_factory_.GetWeakPtr();
49 }
50
47 void BinderRegistry::SetInterfaceBinder( 51 void BinderRegistry::SetInterfaceBinder(
48 const std::string& interface_name, 52 const std::string& interface_name,
49 std::unique_ptr<InterfaceBinder> binder) { 53 std::unique_ptr<InterfaceBinder> binder) {
50 RemoveInterface(interface_name); 54 RemoveInterface(interface_name);
51 binders_[interface_name] = std::move(binder); 55 binders_[interface_name] = std::move(binder);
52 } 56 }
53 57
54 } // namespace service_manager 58 } // namespace service_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698