OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/macros.h" | |
6 #include "mojo/application/application_runner_chromium.h" | 5 #include "mojo/application/application_runner_chromium.h" |
7 #include "mojo/public/c/system/main.h" | 6 #include "mojo/public/c/system/main.h" |
8 #include "mojo/public/cpp/application/application_delegate.h" | 7 #include "services/files/files_app.h" |
9 #include "mojo/public/cpp/application/service_provider_impl.h" | |
10 #include "mojo/services/files/interfaces/files.mojom.h" | |
11 #include "services/files/files_impl.h" | |
12 | |
13 namespace mojo { | |
14 namespace files { | |
15 | |
16 class FilesApp : public ApplicationDelegate { | |
17 public: | |
18 FilesApp() {} | |
19 ~FilesApp() override {} | |
20 | |
21 private: | |
22 // |ApplicationDelegate| override: | |
23 bool ConfigureIncomingConnection( | |
24 ServiceProviderImpl* service_provider_impl) override { | |
25 service_provider_impl->AddService<Files>( | |
26 [](const ConnectionContext& connection_context, | |
27 InterfaceRequest<Files> files_request) { | |
28 new FilesImpl(connection_context, files_request.Pass()); | |
29 }); | |
30 return true; | |
31 } | |
32 | |
33 DISALLOW_COPY_AND_ASSIGN(FilesApp); | |
34 }; | |
35 | |
36 } // namespace files | |
37 } // namespace mojo | |
38 | 8 |
39 MojoResult MojoMain(MojoHandle application_request) { | 9 MojoResult MojoMain(MojoHandle application_request) { |
40 mojo::ApplicationRunnerChromium runner(new mojo::files::FilesApp()); | 10 mojo::ApplicationRunnerChromium runner(new mojo::files::FilesApp()); |
41 return runner.Run(application_request); | 11 return runner.Run(application_request); |
42 } | 12 } |
OLD | NEW |