| 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 15 matching lines...) Expand all Loading... |
| 26 #include "remoting/client/plugin/pepper_plugin_thread_delegate.h" | 26 #include "remoting/client/plugin/pepper_plugin_thread_delegate.h" |
| 27 #include "remoting/proto/event.pb.h" | 27 #include "remoting/proto/event.pb.h" |
| 28 #include "remoting/protocol/client_stub.h" | 28 #include "remoting/protocol/client_stub.h" |
| 29 #include "remoting/protocol/clipboard_stub.h" | 29 #include "remoting/protocol/clipboard_stub.h" |
| 30 #include "remoting/protocol/connection_to_host.h" | 30 #include "remoting/protocol/connection_to_host.h" |
| 31 #include "remoting/protocol/cursor_shape_stub.h" | 31 #include "remoting/protocol/cursor_shape_stub.h" |
| 32 #include "remoting/protocol/input_event_tracker.h" | 32 #include "remoting/protocol/input_event_tracker.h" |
| 33 #include "remoting/protocol/mouse_input_filter.h" | 33 #include "remoting/protocol/mouse_input_filter.h" |
| 34 #include "remoting/protocol/negotiating_client_authenticator.h" | 34 #include "remoting/protocol/negotiating_client_authenticator.h" |
| 35 #include "remoting/protocol/third_party_client_authenticator.h" | 35 #include "remoting/protocol/third_party_client_authenticator.h" |
| 36 #include "third_party/skia/include/core/SkPoint.h" |
| 37 #include "third_party/skia/include/core/SkRegion.h" |
| 38 #include "third_party/skia/include/core/SkSize.h" |
| 36 | 39 |
| 37 namespace base { | 40 namespace base { |
| 38 class DictionaryValue; | 41 class DictionaryValue; |
| 39 } // namespace base | 42 } // namespace base |
| 40 | 43 |
| 41 namespace pp { | 44 namespace pp { |
| 42 class InputEvent; | 45 class InputEvent; |
| 43 class Module; | 46 class Module; |
| 44 } // namespace pp | 47 } // namespace pp |
| 45 | 48 |
| 46 namespace webrtc { | |
| 47 class DesktopRegion; | |
| 48 class DesktopSize; | |
| 49 class DesktopVector; | |
| 50 } // namespace webrtc | |
| 51 | |
| 52 namespace remoting { | 49 namespace remoting { |
| 53 | 50 |
| 54 class ChromotingClient; | 51 class ChromotingClient; |
| 55 class ChromotingStats; | 52 class ChromotingStats; |
| 56 class ClientContext; | 53 class ClientContext; |
| 57 class DelegatingSignalStrategy; | 54 class DelegatingSignalStrategy; |
| 58 class FrameConsumer; | 55 class FrameConsumer; |
| 59 class FrameConsumerProxy; | 56 class FrameConsumerProxy; |
| 60 class PepperAudioPlayer; | 57 class PepperAudioPlayer; |
| 61 class PepperTokenFetcher; | 58 class PepperTokenFetcher; |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 | 125 |
| 129 // protocol::ClipboardStub interface. | 126 // protocol::ClipboardStub interface. |
| 130 virtual void InjectClipboardEvent( | 127 virtual void InjectClipboardEvent( |
| 131 const protocol::ClipboardEvent& event) OVERRIDE; | 128 const protocol::ClipboardEvent& event) OVERRIDE; |
| 132 | 129 |
| 133 // protocol::CursorShapeStub interface. | 130 // protocol::CursorShapeStub interface. |
| 134 virtual void SetCursorShape( | 131 virtual void SetCursorShape( |
| 135 const protocol::CursorShapeInfo& cursor_shape) OVERRIDE; | 132 const protocol::CursorShapeInfo& cursor_shape) OVERRIDE; |
| 136 | 133 |
| 137 // Called by PepperView. | 134 // Called by PepperView. |
| 138 void SetDesktopSize(const webrtc::DesktopSize& size, | 135 void SetDesktopSize(const SkISize& size, const SkIPoint& dpi); |
| 139 const webrtc::DesktopVector& dpi); | 136 void SetDesktopShape(const SkRegion& shape); |
| 140 void SetDesktopShape(const webrtc::DesktopRegion& shape); | |
| 141 void OnFirstFrameReceived(); | 137 void OnFirstFrameReceived(); |
| 142 | 138 |
| 143 // Return statistics record by ChromotingClient. | 139 // Return statistics record by ChromotingClient. |
| 144 // If no connection is currently active then NULL will be returned. | 140 // If no connection is currently active then NULL will be returned. |
| 145 ChromotingStats* GetStats(); | 141 ChromotingStats* GetStats(); |
| 146 | 142 |
| 147 // Registers a global log message handler that redirects the log output to | 143 // Registers a global log message handler that redirects the log output to |
| 148 // our plugin instance. | 144 // our plugin instance. |
| 149 // This is called by the plugin's PPP_InitializeModule. | 145 // This is called by the plugin's PPP_InitializeModule. |
| 150 // Note that no logging will be processed unless a ChromotingInstance has been | 146 // Note that no logging will be processed unless a ChromotingInstance has been |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 | 232 |
| 237 PepperPluginThreadDelegate plugin_thread_delegate_; | 233 PepperPluginThreadDelegate plugin_thread_delegate_; |
| 238 scoped_refptr<PluginThreadTaskRunner> plugin_task_runner_; | 234 scoped_refptr<PluginThreadTaskRunner> plugin_task_runner_; |
| 239 ClientContext context_; | 235 ClientContext context_; |
| 240 scoped_refptr<RectangleUpdateDecoder> rectangle_decoder_; | 236 scoped_refptr<RectangleUpdateDecoder> rectangle_decoder_; |
| 241 scoped_ptr<PepperView> view_; | 237 scoped_ptr<PepperView> view_; |
| 242 scoped_ptr<base::WeakPtrFactory<FrameConsumer> > view_weak_factory_; | 238 scoped_ptr<base::WeakPtrFactory<FrameConsumer> > view_weak_factory_; |
| 243 pp::View plugin_view_; | 239 pp::View plugin_view_; |
| 244 | 240 |
| 245 // Contains the most-recently-reported desktop shape, if any. | 241 // Contains the most-recently-reported desktop shape, if any. |
| 246 scoped_ptr<webrtc::DesktopRegion> desktop_shape_; | 242 scoped_ptr<SkRegion> desktop_shape_; |
| 247 | 243 |
| 248 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; | 244 scoped_ptr<DelegatingSignalStrategy> signal_strategy_; |
| 249 | 245 |
| 250 scoped_ptr<protocol::ConnectionToHost> host_connection_; | 246 scoped_ptr<protocol::ConnectionToHost> host_connection_; |
| 251 scoped_ptr<ChromotingClient> client_; | 247 scoped_ptr<ChromotingClient> client_; |
| 252 | 248 |
| 253 // Input pipeline components, in reverse order of distance from input source. | 249 // Input pipeline components, in reverse order of distance from input source. |
| 254 protocol::MouseInputFilter mouse_input_filter_; | 250 protocol::MouseInputFilter mouse_input_filter_; |
| 255 protocol::InputEventTracker input_tracker_; | 251 protocol::InputEventTracker input_tracker_; |
| 256 KeyEventMapper key_mapper_; | 252 KeyEventMapper key_mapper_; |
| 257 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; | 253 scoped_ptr<protocol::InputFilter> normalizing_input_filter_; |
| 258 PepperInputHandler input_handler_; | 254 PepperInputHandler input_handler_; |
| 259 | 255 |
| 260 // PIN Fetcher. | 256 // PIN Fetcher. |
| 261 bool use_async_pin_dialog_; | 257 bool use_async_pin_dialog_; |
| 262 protocol::SecretFetchedCallback secret_fetched_callback_; | 258 protocol::SecretFetchedCallback secret_fetched_callback_; |
| 263 | 259 |
| 264 base::WeakPtr<PepperTokenFetcher> pepper_token_fetcher_; | 260 base::WeakPtr<PepperTokenFetcher> pepper_token_fetcher_; |
| 265 | 261 |
| 266 // Weak reference to this instance, used for global logging and task posting. | 262 // Weak reference to this instance, used for global logging and task posting. |
| 267 base::WeakPtrFactory<ChromotingInstance> weak_factory_; | 263 base::WeakPtrFactory<ChromotingInstance> weak_factory_; |
| 268 | 264 |
| 269 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); | 265 DISALLOW_COPY_AND_ASSIGN(ChromotingInstance); |
| 270 }; | 266 }; |
| 271 | 267 |
| 272 } // namespace remoting | 268 } // namespace remoting |
| 273 | 269 |
| 274 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ | 270 #endif // REMOTING_CLIENT_PLUGIN_CHROMOTING_INSTANCE_H_ |
| OLD | NEW |