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. 4 5 #include "mojo/services/surfaces/surfaces_service_impl.h" 6 7 namespace mojo { 8 9 SurfacesServiceImpl::SurfacesServiceImpl(cc::SurfaceManager* manager, 10 uint32_t* next_id_namespace, 11 SurfacesImpl::Client* client) 12 : manager_(manager), 13 next_id_namespace_(next_id_namespace), 14 client_(client) { 15 } 16 SurfacesServiceImpl::~SurfacesServiceImpl() { 17 } 18 19 void SurfacesServiceImpl::CreateSurfaceConnection( 20 const Callback<void(SurfacePtr, uint32_t)>& callback) { 21 uint32_t id_namespace = (*next_id_namespace_)++; 22 SurfacePtr surface; 23 BindToProxy(new SurfacesImpl(manager_, id_namespace, client_), &surface); 24 callback.Run(surface.Pass(), id_namespace); 25 } 26 27 } // namespace mojo 28