OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "remoting/client/jni/chromoting_jni_instance.h" | 5 #include "remoting/client/jni/chromoting_jni_instance.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "remoting/client/audio_player.h" | 9 #include "remoting/client/audio_player.h" |
10 #include "remoting/client/jni/chromoting_jni.h" | 10 #include "remoting/client/jni/chromoting_jni.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 // asynchronous run, since Java might want it back as soon as we return. | 68 // asynchronous run, since Java might want it back as soon as we return. |
69 ChromotingJni::GetInstance()->network_task_runner()->PostTask(FROM_HERE, | 69 ChromotingJni::GetInstance()->network_task_runner()->PostTask(FROM_HERE, |
70 base::Bind(pin_callback_, pin)); | 70 base::Bind(pin_callback_, pin)); |
71 } | 71 } |
72 | 72 |
73 void ChromotingJniInstance::RedrawDesktop() { | 73 void ChromotingJniInstance::RedrawDesktop() { |
74 if (!ChromotingJni::GetInstance()-> | 74 if (!ChromotingJni::GetInstance()-> |
75 display_task_runner()->BelongsToCurrentThread()) { | 75 display_task_runner()->BelongsToCurrentThread()) { |
76 ChromotingJni::GetInstance()->display_task_runner()->PostTask( | 76 ChromotingJni::GetInstance()->display_task_runner()->PostTask( |
77 FROM_HERE, | 77 FROM_HERE, |
78 base::Bind(&ChromotingJniInstance::RedrawDesktop, | 78 base::Bind(&ChromotingJniInstance::RedrawDesktop, this)); |
79 this)); | |
80 return; | 79 return; |
81 } | 80 } |
82 | 81 |
83 ChromotingJni::GetInstance()->RedrawCanvas(); | 82 ChromotingJni::GetInstance()->RedrawCanvas(); |
84 } | 83 } |
85 | 84 |
| 85 void ChromotingJniInstance::PerformMouseAction( |
| 86 int x, |
| 87 int y, |
| 88 protocol::MouseEvent_MouseButton button, |
| 89 bool buttonDown) { |
| 90 if(!ChromotingJni::GetInstance()-> |
| 91 network_task_runner()->BelongsToCurrentThread()) { |
| 92 ChromotingJni::GetInstance()->network_task_runner()->PostTask( |
| 93 FROM_HERE, |
| 94 base::Bind(&ChromotingJniInstance::PerformMouseAction, |
| 95 this, |
| 96 x, |
| 97 y, |
| 98 button, |
| 99 buttonDown)); |
| 100 return; |
| 101 } |
| 102 |
| 103 protocol::MouseEvent action; |
| 104 action.set_x(x); |
| 105 action.set_y(y); |
| 106 action.set_button(button); |
| 107 if (button != protocol::MouseEvent::BUTTON_UNDEFINED) |
| 108 action.set_button_down(buttonDown); |
| 109 |
| 110 connection_->input_stub()->InjectMouseEvent(action); |
| 111 } |
| 112 |
86 void ChromotingJniInstance::OnConnectionState( | 113 void ChromotingJniInstance::OnConnectionState( |
87 protocol::ConnectionToHost::State state, | 114 protocol::ConnectionToHost::State state, |
88 protocol::ErrorCode error) { | 115 protocol::ErrorCode error) { |
89 if (!ChromotingJni::GetInstance()-> | 116 if (!ChromotingJni::GetInstance()-> |
90 ui_task_runner()->BelongsToCurrentThread()) { | 117 ui_task_runner()->BelongsToCurrentThread()) { |
91 ChromotingJni::GetInstance()-> | 118 ChromotingJni::GetInstance()-> |
92 ui_task_runner()->PostTask( | 119 ui_task_runner()->PostTask( |
93 FROM_HERE, | 120 FROM_HERE, |
94 base::Bind(&ChromotingJniInstance::OnConnectionState, | 121 base::Bind(&ChromotingJniInstance::OnConnectionState, |
95 this, | 122 this, |
(...skipping 10 matching lines...) Expand all Loading... |
106 } | 133 } |
107 | 134 |
108 void ChromotingJniInstance::SetCapabilities(const std::string& capabilities) {} | 135 void ChromotingJniInstance::SetCapabilities(const std::string& capabilities) {} |
109 | 136 |
110 void ChromotingJniInstance::SetPairingResponse( | 137 void ChromotingJniInstance::SetPairingResponse( |
111 const protocol::PairingResponse& response) { | 138 const protocol::PairingResponse& response) { |
112 NOTIMPLEMENTED(); | 139 NOTIMPLEMENTED(); |
113 } | 140 } |
114 | 141 |
115 protocol::ClipboardStub* ChromotingJniInstance::GetClipboardStub() { | 142 protocol::ClipboardStub* ChromotingJniInstance::GetClipboardStub() { |
116 NOTIMPLEMENTED(); | 143 return this; |
117 return NULL; | |
118 } | 144 } |
119 | 145 |
120 protocol::CursorShapeStub* ChromotingJniInstance::GetCursorShapeStub() { | 146 protocol::CursorShapeStub* ChromotingJniInstance::GetCursorShapeStub() { |
121 NOTIMPLEMENTED(); | 147 return this; |
122 return NULL; | |
123 } | 148 } |
124 | 149 |
125 scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher> | 150 scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher> |
126 ChromotingJniInstance::GetTokenFetcher(const std::string& host_public_key) { | 151 ChromotingJniInstance::GetTokenFetcher(const std::string& host_public_key) { |
127 // Return null to indicate that third-party authentication is unsupported. | 152 // Return null to indicate that third-party authentication is unsupported. |
128 return scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher>(); | 153 return scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher>(); |
129 } | 154 } |
130 | 155 |
| 156 void ChromotingJniInstance::InjectClipboardEvent( |
| 157 const protocol::ClipboardEvent& event) { |
| 158 NOTIMPLEMENTED(); |
| 159 } |
| 160 |
| 161 void ChromotingJniInstance::SetCursorShape( |
| 162 const protocol::CursorShapeInfo& shape) { |
| 163 NOTIMPLEMENTED(); |
| 164 } |
| 165 |
131 void ChromotingJniInstance::ConnectToHostOnDisplayThread() { | 166 void ChromotingJniInstance::ConnectToHostOnDisplayThread() { |
132 DCHECK(ChromotingJni::GetInstance()-> | 167 DCHECK(ChromotingJni::GetInstance()-> |
133 display_task_runner()->BelongsToCurrentThread()); | 168 display_task_runner()->BelongsToCurrentThread()); |
134 | 169 |
135 frame_consumer_ = new FrameConsumerProxy( | 170 frame_consumer_ = new FrameConsumerProxy( |
136 ChromotingJni::GetInstance()->display_task_runner()); | 171 ChromotingJni::GetInstance()->display_task_runner()); |
137 view_.reset(new JniFrameConsumer()); | 172 view_.reset(new JniFrameConsumer()); |
138 view_weak_factory_.reset(new base::WeakPtrFactory<JniFrameConsumer>( | 173 view_weak_factory_.reset(new base::WeakPtrFactory<JniFrameConsumer>( |
139 view_.get())); | 174 view_.get())); |
140 frame_consumer_->Attach(view_weak_factory_->GetWeakPtr()); | 175 frame_consumer_->Attach(view_weak_factory_->GetWeakPtr()); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 pairable, | 262 pairable, |
228 callback)); | 263 callback)); |
229 return; | 264 return; |
230 } | 265 } |
231 | 266 |
232 pin_callback_ = callback; | 267 pin_callback_ = callback; |
233 ChromotingJni::GetInstance()->DisplayAuthenticationPrompt(); | 268 ChromotingJni::GetInstance()->DisplayAuthenticationPrompt(); |
234 } | 269 } |
235 | 270 |
236 } // namespace remoting | 271 } // namespace remoting |
OLD | NEW |