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/mus/client_connection.h"
7 #include "components/mus/connection_manager.h"
8 #include "components/mus/view_tree_impl.h"
12 ClientConnection::ClientConnection(scoped_ptr
<ViewTreeImpl
> service
,
13 mojo::ViewTreeClient
* client
)
14 : service_(service
.Pass()), client_(client
) {}
16 ClientConnection::~ClientConnection() {}
18 DefaultClientConnection::DefaultClientConnection(
19 scoped_ptr
<ViewTreeImpl
> service_impl
,
20 ConnectionManager
* connection_manager
,
21 mojo::InterfaceRequest
<mojo::ViewTree
> service_request
,
22 mojo::ViewTreeClientPtr client
)
23 : ClientConnection(service_impl
.Pass(), client
.get()),
24 connection_manager_(connection_manager
),
25 binding_(service(), service_request
.Pass()),
26 client_(client
.Pass()) {
27 binding_
.set_connection_error_handler(
28 [this]() { connection_manager_
->OnConnectionError(this); });
31 DefaultClientConnection::~DefaultClientConnection() {}