| // Copyright 2014 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 "mojo/services/surfaces/surfaces_service_impl.h" |
| |
| namespace mojo { |
| |
| SurfacesServiceImpl::SurfacesServiceImpl(cc::SurfaceManager* manager, |
| uint32_t* next_id_namespace, |
| SurfacesImpl::Client* client) |
| : manager_(manager), |
| next_id_namespace_(next_id_namespace), |
| client_(client) { |
| } |
| SurfacesServiceImpl::~SurfacesServiceImpl() { |
| } |
| |
| void SurfacesServiceImpl::CreateSurfaceConnection( |
| const Callback<void(SurfacePtr, uint32_t)>& callback) { |
| uint32_t id_namespace = (*next_id_namespace_)++; |
| SurfacePtr surface; |
| BindToProxy(new SurfacesImpl(manager_, id_namespace, client_), &surface); |
| callback.Run(surface.Pass(), id_namespace); |
| } |
| |
| } // namespace mojo |