OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 5 #ifndef MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
6 #define MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 6 #define MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
7 | 7 |
8 #include "mojo/public/cpp/application/application_delegate.h" | 8 #include "mojo/public/cpp/application/application_delegate.h" |
9 #include "mojo/public/cpp/application/interface_factory.h" | 9 #include "mojo/public/cpp/application/interface_factory.h" |
10 #include "mojo/services/gpu/public/interfaces/gpu.mojom.h" | 10 #include "mojo/services/gpu/public/interfaces/gpu.mojom.h" |
| 11 #include "mojo/services/keyboard/public/interfaces/keyboard.mojom.h" |
11 #include "mojo/services/native_viewport/public/interfaces/native_viewport.mojom.
h" | 12 #include "mojo/services/native_viewport/public/interfaces/native_viewport.mojom.
h" |
12 #include "services/gles2/gpu_impl.h" | 13 #include "services/gles2/gpu_impl.h" |
13 #include "shell/application_manager/application_loader.h" | 14 #include "shell/application_manager/application_loader.h" |
14 | 15 |
15 namespace mojo { | 16 namespace mojo { |
16 | 17 |
17 class ApplicationImpl; | 18 class ApplicationImpl; |
18 | 19 |
19 namespace shell { | 20 namespace shell { |
20 | 21 |
21 class NativeViewportApplicationLoader : public ApplicationLoader, | 22 class NativeViewportApplicationLoader : public ApplicationLoader, |
22 public ApplicationDelegate, | 23 public ApplicationDelegate, |
| 24 public InterfaceFactory<Keyboard>, |
23 public InterfaceFactory<NativeViewport>, | 25 public InterfaceFactory<NativeViewport>, |
24 public InterfaceFactory<Gpu> { | 26 public InterfaceFactory<Gpu> { |
25 public: | 27 public: |
26 NativeViewportApplicationLoader(); | 28 NativeViewportApplicationLoader(); |
27 ~NativeViewportApplicationLoader(); | 29 ~NativeViewportApplicationLoader(); |
28 | 30 |
29 private: | 31 private: |
30 // ApplicationLoader implementation. | 32 // ApplicationLoader implementation. |
31 void Load(ApplicationManager* manager, | 33 void Load(ApplicationManager* manager, |
32 const GURL& url, | 34 const GURL& url, |
33 ScopedMessagePipeHandle shell_handle, | 35 ScopedMessagePipeHandle shell_handle, |
34 LoadCallback callback) override; | 36 LoadCallback callback) override; |
35 | 37 |
36 void OnApplicationError(ApplicationManager* manager, | 38 void OnApplicationError(ApplicationManager* manager, |
37 const GURL& url) override; | 39 const GURL& url) override; |
38 | 40 |
39 // ApplicationDelegate implementation. | 41 // ApplicationDelegate implementation. |
40 bool ConfigureIncomingConnection( | 42 bool ConfigureIncomingConnection( |
41 mojo::ApplicationConnection* connection) override; | 43 mojo::ApplicationConnection* connection) override; |
42 | 44 |
43 // InterfaceFactory<NativeViewport> implementation. | 45 // InterfaceFactory<NativeViewport> implementation. |
44 void Create(ApplicationConnection* connection, | 46 void Create(ApplicationConnection* connection, |
45 InterfaceRequest<NativeViewport> request) override; | 47 InterfaceRequest<NativeViewport> request) override; |
46 | 48 |
47 // InterfaceFactory<Gpu> implementation. | 49 // InterfaceFactory<Gpu> implementation. |
48 void Create(ApplicationConnection* connection, | 50 void Create(ApplicationConnection* connection, |
49 InterfaceRequest<Gpu> request) override; | 51 InterfaceRequest<Gpu> request) override; |
50 | 52 |
| 53 // InterfaceFactory<Keyboard> implementation. |
| 54 void Create(ApplicationConnection* connection, |
| 55 InterfaceRequest<Keyboard> request) override; |
| 56 |
51 scoped_refptr<gles2::GpuImpl::State> gpu_state_; | 57 scoped_refptr<gles2::GpuImpl::State> gpu_state_; |
52 scoped_ptr<ApplicationImpl> app_; | 58 scoped_ptr<ApplicationImpl> app_; |
53 | 59 |
54 DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader); | 60 DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader); |
55 }; | 61 }; |
56 | 62 |
57 } // namespace shell | 63 } // namespace shell |
58 } // namespace mojo | 64 } // namespace mojo |
59 | 65 |
60 #endif // MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ | 66 #endif // MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_ |
OLD | NEW |