Index: services/shell/public/cpp/lib/interface_provider.cc |
diff --git a/services/shell/public/cpp/lib/interface_provider.cc b/services/shell/public/cpp/lib/interface_provider.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f28f1ea8b396547636d426d7a97af16b33bfa6b6 |
--- /dev/null |
+++ b/services/shell/public/cpp/lib/interface_provider.cc |
@@ -0,0 +1,34 @@ |
+// 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 "services/shell/public/cpp/interface_provider.h" |
+ |
+namespace shell { |
+ |
+ InterfaceProvider::InterfaceProvider( |
Ken Rockot(use gerrit already)
2016/06/21 16:16:23
nit: bad indentation
|
+ mojom::InterfaceProviderPtr interface_provider) |
+ : interface_provider_(std::move(interface_provider)), |
+ weak_factory_(this) {} |
+ InterfaceProvider::~InterfaceProvider() {} |
Ken Rockot(use gerrit already)
2016/06/21 16:16:23
nit: bad indentation
|
+ |
+void InterfaceProvider::SetConnectionLostClosure( |
+ const base::Closure& connection_lost_closure) { |
+ interface_provider_.set_connection_error_handler(connection_lost_closure); |
+} |
+ |
+base::WeakPtr<InterfaceProvider> InterfaceProvider::GetWeakPtr() { |
+ return weak_factory_.GetWeakPtr(); |
+} |
+ |
+void InterfaceProvider::GetInterface( |
+ const std::string& name, |
+ mojo::ScopedMessagePipeHandle request_handle) { |
+ interface_provider_->GetInterface(name, std::move(request_handle)); |
+} |
+ |
+void InterfaceProvider::ClearBinders() { |
+ binders_.clear(); |
+} |
+ |
+} // namespace shell |