OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/arc/arc_bridge_service_impl.h" | 5 #include "components/arc/arc_bridge_service_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/prefs/pref_registry_simple.h" | 10 #include "base/prefs/pref_registry_simple.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
149 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 149 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
150 if (state() != State::READY) { | 150 if (state() != State::READY) { |
151 LOG(ERROR) << "Called RequestAppIcon when the service is not ready"; | 151 LOG(ERROR) << "Called RequestAppIcon when the service is not ready"; |
152 return false; | 152 return false; |
153 } | 153 } |
154 return ipc_channel_->Send(new ArcInstanceMsg_RequestAppIcon(package, | 154 return ipc_channel_->Send(new ArcInstanceMsg_RequestAppIcon(package, |
155 activity, | 155 activity, |
156 scale_factor)); | 156 scale_factor)); |
157 } | 157 } |
158 | 158 |
159 bool ArcBridgeServiceImpl::SendClipboardContentToAndroid( | |
160 const ClipboardData data) { | |
161 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | |
162 if (state() != State::READY) { | |
163 LOG(ERROR) << "Called SendClipboardContentToAndroid when the service is" | |
jochen (gone - plz use gerrit)
2015/12/07 15:45:09
no LOG
please use DVLOG/VLOG
the user won't see
| |
164 << " not ready"; | |
165 return false; | |
166 } | |
167 | |
168 return ipc_channel_->Send( | |
169 new ArcInstanceMsg_SendClipboardContentToAndroid(data)); | |
170 } | |
171 | |
159 void ArcBridgeServiceImpl::SocketConnect(const base::FilePath& socket_path) { | 172 void ArcBridgeServiceImpl::SocketConnect(const base::FilePath& socket_path) { |
160 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 173 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
161 if (state() != State::STOPPED) { | 174 if (state() != State::STOPPED) { |
162 VLOG(1) << "SocketConnect() called when instance is not stopped"; | 175 VLOG(1) << "SocketConnect() called when instance is not stopped"; |
163 return; | 176 return; |
164 } | 177 } |
165 SetState(State::CONNECTING); | 178 SetState(State::CONNECTING); |
166 base::PostTaskAndReplyWithResult( | 179 base::PostTaskAndReplyWithResult( |
167 file_task_runner_.get(), FROM_HERE, | 180 file_task_runner_.get(), FROM_HERE, |
168 base::Bind(&base::CreateDirectory, socket_path.DirName()), | 181 base::Bind(&base::CreateDirectory, socket_path.DirName()), |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
287 | 300 |
288 IPC_BEGIN_MESSAGE_MAP(ArcBridgeServiceImpl, message) | 301 IPC_BEGIN_MESSAGE_MAP(ArcBridgeServiceImpl, message) |
289 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_InstanceBootPhase, | 302 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_InstanceBootPhase, |
290 OnInstanceBootPhase) | 303 OnInstanceBootPhase) |
291 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppListRefreshed, OnAppListRefreshed) | 304 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppListRefreshed, OnAppListRefreshed) |
292 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppIcon, OnAppIcon) | 305 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppIcon, OnAppIcon) |
293 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_NotificationPosted, | 306 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_NotificationPosted, |
294 OnNotificationPostedFromAndroid) | 307 OnNotificationPostedFromAndroid) |
295 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_NotificationRemoved, | 308 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_NotificationRemoved, |
296 OnNotificationRemovedFromAndroid) | 309 OnNotificationRemovedFromAndroid) |
310 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_SetClipboardContent, | |
311 OnSetClipboardContent) | |
312 IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_GetClipboardContent, | |
313 OnGetClipboardContent) | |
297 IPC_MESSAGE_UNHANDLED(handled = false) | 314 IPC_MESSAGE_UNHANDLED(handled = false) |
298 IPC_END_MESSAGE_MAP() | 315 IPC_END_MESSAGE_MAP() |
299 | 316 |
300 if (!handled) | 317 if (!handled) |
301 LOG(ERROR) << "Invalid message with type = " << message.type(); | 318 LOG(ERROR) << "Invalid message with type = " << message.type(); |
302 return handled; | 319 return handled; |
303 } | 320 } |
304 | 321 |
305 void ArcBridgeServiceImpl::OnAppListRefreshed( | 322 void ArcBridgeServiceImpl::OnAppListRefreshed( |
306 const std::vector<arc::AppInfo>& apps) { | 323 const std::vector<arc::AppInfo>& apps) { |
307 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 324 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
308 FOR_EACH_OBSERVER(AppObserver, app_observer_list(), OnAppListRefreshed(apps)); | 325 FOR_EACH_OBSERVER(AppObserver, app_observer_list(), OnAppListRefreshed(apps)); |
309 } | 326 } |
310 | 327 |
311 void ArcBridgeServiceImpl::OnAppIcon( | 328 void ArcBridgeServiceImpl::OnAppIcon( |
312 const std::string& package, | 329 const std::string& package, |
313 const std::string& activity, | 330 const std::string& activity, |
314 ScaleFactor scale_factor, | 331 ScaleFactor scale_factor, |
315 const std::vector<uint8_t>& icon_png_data) { | 332 const std::vector<uint8_t>& icon_png_data) { |
316 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 333 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
317 FOR_EACH_OBSERVER(AppObserver, | 334 FOR_EACH_OBSERVER(AppObserver, |
318 app_observer_list(), | 335 app_observer_list(), |
319 OnAppIcon(package, activity, scale_factor, icon_png_data)); | 336 OnAppIcon(package, activity, scale_factor, icon_png_data)); |
320 } | 337 } |
321 | 338 |
339 void ArcBridgeServiceImpl::OnSetClipboardContent( | |
340 const ClipboardData& data) { | |
341 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | |
342 FOR_EACH_OBSERVER(ClipboardObserver, clipboard_observer_list(), | |
343 OnSetClipboardContent(data)); | |
344 } | |
345 | |
346 void ArcBridgeServiceImpl::OnGetClipboardContent() { | |
347 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | |
348 FOR_EACH_OBSERVER(ClipboardObserver, clipboard_observer_list(), | |
349 OnGetClipboardContent()); | |
350 } | |
351 | |
322 void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) { | 352 void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) { |
323 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 353 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
324 if (available() == arc_available) | 354 if (available() == arc_available) |
325 return; | 355 return; |
326 SetAvailable(arc_available); | 356 SetAvailable(arc_available); |
327 PrerequisitesChanged(); | 357 PrerequisitesChanged(); |
328 } | 358 } |
329 | 359 |
330 void ArcBridgeServiceImpl::OnInstanceStopped(bool success) { | 360 void ArcBridgeServiceImpl::OnInstanceStopped(bool success) { |
331 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); | 361 DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
332 // STOPPING is the only valid state for this function. | 362 // STOPPING is the only valid state for this function. |
333 // DCHECK on enum classes not supported. | 363 // DCHECK on enum classes not supported. |
334 DCHECK(state() == State::STOPPING); | 364 DCHECK(state() == State::STOPPING); |
335 ipc_channel_.reset(); | 365 ipc_channel_.reset(); |
336 SetState(State::STOPPED); | 366 SetState(State::STOPPED); |
337 } | 367 } |
338 | 368 |
339 } // namespace arc | 369 } // namespace arc |
OLD | NEW |