OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 SERVICES_UI_IME_IME_SERVER_IMPL_H_ | 5 #ifndef SERVICES_UI_IME_IME_SERVER_IMPL_H_ |
6 #define SERVICES_UI_IME_IME_SERVER_IMPL_H_ | 6 #define SERVICES_UI_IME_IME_SERVER_IMPL_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "mojo/public/cpp/bindings/binding_set.h" | 10 #include "mojo/public/cpp/bindings/binding_set.h" |
11 #include "services/ui/public/interfaces/ime.mojom.h" | 11 #include "services/ui/public/interfaces/ime.mojom.h" |
12 | 12 |
| 13 namespace shell { |
| 14 class Connector; |
| 15 } |
| 16 |
13 namespace ui { | 17 namespace ui { |
14 | 18 |
15 class IMEServerImpl : public mojom::IMEServer { | 19 class IMEServerImpl : public mojom::IMEServer { |
16 public: | 20 public: |
17 IMEServerImpl(); | 21 IMEServerImpl(); |
18 ~IMEServerImpl() override; | 22 ~IMEServerImpl() override; |
19 | 23 |
| 24 void Init(shell::Connector* connector); |
20 void AddBinding(mojom::IMEServerRequest request); | 25 void AddBinding(mojom::IMEServerRequest request); |
21 void OnDriverChanged(mojom::IMEDriverPtr driver); | 26 void OnDriverChanged(mojom::IMEDriverPtr driver); |
22 | 27 |
23 private: | 28 private: |
24 // mojom::IMEServer: | 29 // mojom::IMEServer: |
25 void StartSession(mojom::TextInputClientPtr client, | 30 void StartSession(mojom::TextInputClientPtr client, |
26 mojom::InputMethodRequest input_method) override; | 31 mojom::InputMethodRequest input_method) override; |
27 | 32 |
28 mojo::BindingSet<mojom::IMEServer> bindings_; | 33 mojo::BindingSet<mojom::IMEServer> bindings_; |
29 mojom::IMEDriverPtr driver_; | 34 mojom::IMEDriverPtr driver_; |
30 int current_id_; | 35 int current_id_; |
31 | 36 |
32 using PendingRequest = | 37 using PendingRequest = |
33 std::pair<mojom::TextInputClientPtr, mojom::InputMethodRequest>; | 38 std::pair<mojom::TextInputClientPtr, mojom::InputMethodRequest>; |
34 std::queue<PendingRequest> pending_requests_; | 39 std::queue<PendingRequest> pending_requests_; |
35 | 40 |
36 DISALLOW_COPY_AND_ASSIGN(IMEServerImpl); | 41 DISALLOW_COPY_AND_ASSIGN(IMEServerImpl); |
37 }; | 42 }; |
38 | 43 |
39 } // namespace ui | 44 } // namespace ui |
40 | 45 |
41 #endif // SERVICES_UI_IME_IME_SERVER_IMPL_H_ | 46 #endif // SERVICES_UI_IME_IME_SERVER_IMPL_H_ |
OLD | NEW |