OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // TODO(ajwong): We need to come up with a better description of the | 5 // TODO(ajwong): We need to come up with a better description of the |
6 // responsibilities for each thread. | 6 // responsibilities for each thread. |
7 | 7 |
8 #ifndef REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 8 #ifndef REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
9 #define REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 9 #define REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
10 | 10 |
(...skipping 29 matching lines...) Expand all Loading... |
40 namespace pp { | 40 namespace pp { |
41 class InputEvent; | 41 class InputEvent; |
42 class Module; | 42 class Module; |
43 } // namespace pp | 43 } // namespace pp |
44 | 44 |
45 namespace remoting { | 45 namespace remoting { |
46 | 46 |
47 namespace protocol { | 47 namespace protocol { |
48 class ConnectionToHost; | 48 class ConnectionToHost; |
49 class InputEventTracker; | 49 class InputEventTracker; |
| 50 class MouseInputFilter; |
50 } // namespace protocol | 51 } // namespace protocol |
51 | 52 |
52 class ChromotingClient; | 53 class ChromotingClient; |
53 class ChromotingScriptableObject; | 54 class ChromotingScriptableObject; |
54 class ChromotingStats; | 55 class ChromotingStats; |
55 class ClientContext; | 56 class ClientContext; |
56 class FrameConsumerProxy; | 57 class FrameConsumerProxy; |
57 class MouseInputFilter; | |
58 class PepperInputHandler; | 58 class PepperInputHandler; |
59 class PepperView; | 59 class PepperView; |
60 class PepperXmppProxy; | 60 class PepperXmppProxy; |
61 class RectangleUpdateDecoder; | 61 class RectangleUpdateDecoder; |
62 | 62 |
63 struct ClientConfig; | 63 struct ClientConfig; |
64 | 64 |
65 class ChromotingInstance : | 65 class ChromotingInstance : |
66 public protocol::ClipboardStub, | 66 public protocol::ClipboardStub, |
67 public pp::InstancePrivate, | 67 public pp::InstancePrivate, |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 | 191 |
192 bool initialized_; | 192 bool initialized_; |
193 | 193 |
194 PepperPluginThreadDelegate plugin_thread_delegate_; | 194 PepperPluginThreadDelegate plugin_thread_delegate_; |
195 scoped_refptr<PluginMessageLoopProxy> plugin_message_loop_; | 195 scoped_refptr<PluginMessageLoopProxy> plugin_message_loop_; |
196 ClientContext context_; | 196 ClientContext context_; |
197 scoped_ptr<protocol::ConnectionToHost> host_connection_; | 197 scoped_ptr<protocol::ConnectionToHost> host_connection_; |
198 scoped_ptr<PepperView> view_; | 198 scoped_ptr<PepperView> view_; |
199 | 199 |
200 scoped_refptr<RectangleUpdateDecoder> rectangle_decoder_; | 200 scoped_refptr<RectangleUpdateDecoder> rectangle_decoder_; |
201 scoped_ptr<MouseInputFilter> mouse_input_filter_; | 201 scoped_ptr<protocol::MouseInputFilter> mouse_input_filter_; |
202 scoped_ptr<protocol::InputEventTracker> input_tracker_; | 202 scoped_ptr<protocol::InputEventTracker> input_tracker_; |
203 KeyEventMapper key_mapper_; | 203 KeyEventMapper key_mapper_; |
204 scoped_ptr<PepperInputHandler> input_handler_; | 204 scoped_ptr<PepperInputHandler> input_handler_; |
205 scoped_ptr<ChromotingClient> client_; | 205 scoped_ptr<ChromotingClient> client_; |
206 | 206 |
207 // XmppProxy is a refcounted interface used to perform thread-switching and | 207 // XmppProxy is a refcounted interface used to perform thread-switching and |
208 // detaching between objects whose lifetimes are controlled by pepper, and | 208 // detaching between objects whose lifetimes are controlled by pepper, and |
209 // jingle_glue objects. This is used when if we start a sandboxed jingle | 209 // jingle_glue objects. This is used when if we start a sandboxed jingle |
210 // connection. | 210 // connection. |
211 scoped_refptr<PepperXmppProxy> xmpp_proxy_; | 211 scoped_refptr<PepperXmppProxy> xmpp_proxy_; |
212 | 212 |
213 // JavaScript interface to control this instance. | 213 // JavaScript interface to control this instance. |
214 // This wraps a ChromotingScriptableObject in a pp::Var. | 214 // This wraps a ChromotingScriptableObject in a pp::Var. |
215 pp::Var instance_object_; | 215 pp::Var instance_object_; |
216 | 216 |
217 scoped_ptr<ScopedThreadProxy> thread_proxy_; | 217 scoped_ptr<ScopedThreadProxy> thread_proxy_; |
218 | 218 |
219 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); | 219 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); |
220 }; | 220 }; |
221 | 221 |
222 } // namespace remoting | 222 } // namespace remoting |
223 | 223 |
224 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 224 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
OLD | NEW |