OLD | NEW |
| (Empty) |
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 "services/surfaces/surfaces_service_application.h" | |
6 | |
7 #include "mojo/application/application_runner_chromium.h" | |
8 #include "mojo/public/c/system/main.h" | |
9 #include "services/surfaces/display_factory_impl.h" | |
10 #include "services/surfaces/surfaces_impl.h" | |
11 #include "services/surfaces/surfaces_scheduler.h" | |
12 | |
13 namespace surfaces { | |
14 | |
15 SurfacesServiceApplication::SurfacesServiceApplication() | |
16 : next_id_namespace_(1u) { | |
17 } | |
18 | |
19 SurfacesServiceApplication::~SurfacesServiceApplication() { | |
20 } | |
21 | |
22 void SurfacesServiceApplication::Initialize(mojo::ApplicationImpl* app) { | |
23 tracing_.Initialize(app); | |
24 scheduler_.reset(new SurfacesScheduler); | |
25 } | |
26 | |
27 bool SurfacesServiceApplication::ConfigureIncomingConnection( | |
28 mojo::ApplicationConnection* connection) { | |
29 connection->AddService<mojo::DisplayFactory>(this); | |
30 connection->AddService<mojo::Surface>(this); | |
31 return true; | |
32 } | |
33 | |
34 void SurfacesServiceApplication::Create( | |
35 mojo::ApplicationConnection* connection, | |
36 mojo::InterfaceRequest<mojo::DisplayFactory> request) { | |
37 new DisplayFactoryImpl(&manager_, next_id_namespace_++, scheduler_.get(), | |
38 request.Pass()); | |
39 } | |
40 | |
41 void SurfacesServiceApplication::Create( | |
42 mojo::ApplicationConnection* connection, | |
43 mojo::InterfaceRequest<mojo::Surface> request) { | |
44 new SurfacesImpl(&manager_, next_id_namespace_++, scheduler_.get(), | |
45 request.Pass()); | |
46 } | |
47 | |
48 } // namespace surfaces | |
49 | |
50 MojoResult MojoMain(MojoHandle application_request) { | |
51 mojo::ApplicationRunnerChromium runner( | |
52 new surfaces::SurfacesServiceApplication); | |
53 return runner.Run(application_request); | |
54 } | |
OLD | NEW |