Chromium Code Reviews| Index: components/arc/arc_bridge_service_impl.cc |
| diff --git a/components/arc/arc_bridge_service_impl.cc b/components/arc/arc_bridge_service_impl.cc |
| index 1a1c954fefa2993b44ff387ae762c8cc6c9597a2..fae8e5d1c35af011cf564075eec73b455a425815 100644 |
| --- a/components/arc/arc_bridge_service_impl.cc |
| +++ b/components/arc/arc_bridge_service_impl.cc |
| @@ -108,6 +108,39 @@ bool ArcBridgeServiceImpl::RegisterInputDevice(const std::string& name, |
| name, device_type, base::FileDescriptor(fd.Pass()))); |
| } |
| +bool ArcBridgeServiceImpl::RefreshApps() { |
| + DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| + if (state() != State::READY) { |
| + LOG(ERROR) << "Called RefreshApps when the service is not ready"; |
| + return false; |
| + } |
| + return ipc_channel_->Send(new ArcInstanceMsg_RefreshApps()); |
| +} |
| + |
| +bool ArcBridgeServiceImpl::LaunchApp(const std::string& package, |
| + const std::string& activity) { |
| + DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| + if (state() != State::READY) { |
| + LOG(ERROR) << "Called LaunchApp when the service is not ready"; |
| + return false; |
| + } |
| + |
|
hidehiko
2015/12/01 08:18:25
nit: no empty line please, for consistency.
khmel1
2015/12/01 09:49:32
Done.
|
| + return ipc_channel_->Send(new ArcInstanceMsg_LaunchApp(package, activity)); |
| +} |
| + |
| +bool ArcBridgeServiceImpl::RequestIcon(const std::string& package, |
| + const std::string& activity, |
| + int scale_factor) { |
| + DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| + if (state() != State::READY) { |
| + LOG(ERROR) << "Called RequestIcon when the service is not ready"; |
| + return false; |
| + } |
| + return ipc_channel_->Send(new ArcInstanceMsg_RequestIcon(package, |
| + activity, |
| + scale_factor)); |
| +} |
| + |
| void ArcBridgeServiceImpl::SocketConnect(const base::FilePath& socket_path) { |
| DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| if (state() != State::STOPPED) { |
| @@ -226,6 +259,8 @@ bool ArcBridgeServiceImpl::OnMessageReceived(const IPC::Message& message) { |
| IPC_BEGIN_MESSAGE_MAP(ArcBridgeServiceImpl, message) |
| IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_InstanceBootPhase, |
| OnInstanceBootPhase) |
| + IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppsRefreshed, OnAppsRefreshed) |
| + IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_AppIcon, OnAppIcon) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| @@ -234,6 +269,22 @@ bool ArcBridgeServiceImpl::OnMessageReceived(const IPC::Message& message) { |
| return handled; |
| } |
| +void ArcBridgeServiceImpl::OnAppsRefreshed( |
| + const std::vector<arc::AppInfo>& apps) { |
| + DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| + FOR_EACH_OBSERVER(AppsObserver, apps_observer_list(), OnAppsRefreshed(apps)); |
| +} |
| + |
| +void ArcBridgeServiceImpl::OnAppIcon(const std::string& package, |
| + const std::string& activity, |
| + int scale_factor, |
| + const std::vector<uint8_t>& icon_png_data) { |
| + DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| + FOR_EACH_OBSERVER(AppsObserver, |
| + apps_observer_list(), |
| + OnAppIcon(package, activity, scale_factor, icon_png_data)); |
| +} |
| + |
| void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) { |
| DCHECK(origin_task_runner()->RunsTasksOnCurrentThread()); |
| if (available() == arc_available) |