1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/view_manager/client_connection.h"
7 #include "components/view_manager/connection_manager.h"
8 #include "components/view_manager/view_manager_service_impl.h"
10 namespace view_manager
{
12 ClientConnection::ClientConnection(scoped_ptr
<ViewManagerServiceImpl
> service
,
13 mojo::ViewManagerClient
* client
)
14 : service_(service
.Pass()), client_(client
) {
17 ClientConnection::~ClientConnection() {
20 DefaultClientConnection::DefaultClientConnection(
21 scoped_ptr
<ViewManagerServiceImpl
> service_impl
,
22 ConnectionManager
* connection_manager
,
23 mojo::InterfaceRequest
<mojo::ViewManagerService
> service_request
,
24 mojo::ViewManagerClientPtr client
)
25 : ClientConnection(service_impl
.Pass(), client
.get()),
26 connection_manager_(connection_manager
),
27 binding_(service(), service_request
.Pass()),
28 client_(client
.Pass()) {
29 binding_
.set_connection_error_handler(
30 [this]() { connection_manager_
->OnConnectionError(this); });
33 DefaultClientConnection::~DefaultClientConnection() {
36 } // namespace view_manager