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 #ifndef REMOTING_HOST_CLIENT_SESSION_H_ | 5 #ifndef REMOTING_HOST_CLIENT_SESSION_H_ |
6 #define REMOTING_HOST_CLIENT_SESSION_H_ | 6 #define REMOTING_HOST_CLIENT_SESSION_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/time.h" | 10 #include "base/time.h" |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 | 114 |
115 // Indicate that local mouse activity has been detected. This causes remote | 115 // Indicate that local mouse activity has been detected. This causes remote |
116 // inputs to be ignored for a short time so that the local user will always | 116 // inputs to be ignored for a short time so that the local user will always |
117 // have the upper hand in 'pointer wars'. | 117 // have the upper hand in 'pointer wars'. |
118 void LocalMouseMoved(const SkIPoint& new_pos); | 118 void LocalMouseMoved(const SkIPoint& new_pos); |
119 | 119 |
120 // Disable handling of input events from this client. If the client has any | 120 // Disable handling of input events from this client. If the client has any |
121 // keys or mouse buttons pressed then these will be released. | 121 // keys or mouse buttons pressed then these will be released. |
122 void SetDisableInputs(bool disable_inputs); | 122 void SetDisableInputs(bool disable_inputs); |
123 | 123 |
| 124 // Creates a proxy for sending clipboard events to the client. |
| 125 scoped_ptr<protocol::ClipboardStub> CreateClipboardProxy(); |
| 126 |
124 private: | 127 private: |
125 EventHandler* event_handler_; | 128 EventHandler* event_handler_; |
126 | 129 |
127 // The connection to the client. | 130 // The connection to the client. |
128 scoped_ptr<protocol::ConnectionToClient> connection_; | 131 scoped_ptr<protocol::ConnectionToClient> connection_; |
129 | 132 |
130 std::string client_jid_; | 133 std::string client_jid_; |
131 bool is_authenticated_; | 134 bool is_authenticated_; |
132 | 135 |
133 // The host event stub to which this object delegates. This is the final | 136 // The host event stub to which this object delegates. This is the final |
(...skipping 12 matching lines...) Expand all Loading... |
146 // Filter used to manage enabling & disabling of client input events. | 149 // Filter used to manage enabling & disabling of client input events. |
147 protocol::InputFilter disable_input_filter_; | 150 protocol::InputFilter disable_input_filter_; |
148 | 151 |
149 // Filter used to disable inputs when we're not authenticated. | 152 // Filter used to disable inputs when we're not authenticated. |
150 protocol::InputFilter auth_input_filter_; | 153 protocol::InputFilter auth_input_filter_; |
151 | 154 |
152 // Filter to used to stop clipboard items sent from the client being echoed | 155 // Filter to used to stop clipboard items sent from the client being echoed |
153 // back to it. | 156 // back to it. |
154 protocol::ClipboardEchoFilter clipboard_echo_filter_; | 157 protocol::ClipboardEchoFilter clipboard_echo_filter_; |
155 | 158 |
| 159 // Factory for weak pointers to the client clipboard stub. |
| 160 // This must appear after |clipboard_echo_filter_|, so that it won't outlive |
| 161 // it. |
| 162 base::WeakPtrFactory<ClipboardStub> client_clipboard_factory_; |
| 163 |
156 // Capturer, used to determine current screen size for ensuring injected | 164 // Capturer, used to determine current screen size for ensuring injected |
157 // mouse events fall within the screen area. | 165 // mouse events fall within the screen area. |
158 // TODO(lambroslambrou): Move floor-control logic, and clamping to screen | 166 // TODO(lambroslambrou): Move floor-control logic, and clamping to screen |
159 // area, out of this class (crbug.com/96508). | 167 // area, out of this class (crbug.com/96508). |
160 Capturer* capturer_; | 168 Capturer* capturer_; |
161 | 169 |
162 DISALLOW_COPY_AND_ASSIGN(ClientSession); | 170 DISALLOW_COPY_AND_ASSIGN(ClientSession); |
163 }; | 171 }; |
164 | 172 |
165 } // namespace remoting | 173 } // namespace remoting |
166 | 174 |
167 #endif // REMOTING_HOST_CLIENT_SESSION_H_ | 175 #endif // REMOTING_HOST_CLIENT_SESSION_H_ |
OLD | NEW |