| 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 1ca85afc2eb8a14e1dd676a7013619d8e0f2222e..2572579948830a73169b6681a7c8deab24be05df 100644
|
| --- a/components/arc/arc_bridge_service_impl.cc
|
| +++ b/components/arc/arc_bridge_service_impl.cc
|
| @@ -19,28 +19,6 @@
|
| #include "chromeos/dbus/dbus_method_call_status.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/dbus/session_manager_client.h"
|
| -#include "mojo/public/cpp/bindings/array.h"
|
| -#include "third_party/mojo/src/mojo/edk/embedder/embedder.h"
|
| -
|
| -namespace mojo {
|
| -
|
| -template <>
|
| -struct TypeConverter<arc::AppInfo, arc::AppInfoPtr> {
|
| - static arc::AppInfo Convert(const arc::AppInfoPtr& app_info_ptr) {
|
| - return *app_info_ptr;
|
| - }
|
| -};
|
| -
|
| -template <>
|
| -struct TypeConverter<arc::RunningAppProcessInfo,
|
| - arc::RunningAppProcessInfoPtr> {
|
| - static arc::RunningAppProcessInfo Convert(
|
| - const arc::RunningAppProcessInfoPtr& process_ptr) {
|
| - return *process_ptr;
|
| - }
|
| -};
|
| -
|
| -} // namespace mojo
|
|
|
| namespace arc {
|
|
|
| @@ -100,174 +78,6 @@ void ArcBridgeServiceImpl::StopInstance() {
|
| bootstrap_->Stop();
|
| }
|
|
|
| -bool ArcBridgeServiceImpl::RegisterInputDevice(const std::string& name,
|
| - const std::string& device_type,
|
| - base::ScopedFD fd) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called RegisterInputDevice when the service is not ready";
|
| - return false;
|
| - }
|
| - MojoHandle wrapped_handle;
|
| - MojoResult wrap_result = mojo::embedder::CreatePlatformHandleWrapper(
|
| - mojo::embedder::ScopedPlatformHandle(
|
| - mojo::embedder::PlatformHandle(fd.release())),
|
| - &wrapped_handle);
|
| - if (wrap_result != MOJO_RESULT_OK) {
|
| - LOG(WARNING) << "Pipe failed to wrap handles. Closing: " << wrap_result;
|
| - return false;
|
| - }
|
| - instance_ptr_->RegisterInputDevice(
|
| - name, device_type, mojo::ScopedHandle(mojo::Handle(wrapped_handle)));
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::SendBroadcast(const std::string& action,
|
| - const std::string& package,
|
| - const std::string& clazz,
|
| - const base::DictionaryValue& extras) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (action.empty() || package.empty() || clazz.empty()) {
|
| - LOG(ERROR) << "SendBroadcast failed: Invalid parameter";
|
| - return false;
|
| - }
|
| - std::string extras_json;
|
| - bool write_success = base::JSONWriter::Write(extras, &extras_json);
|
| - DCHECK(write_success);
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called SendBroadcast when the service is not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->SendBroadcast(action, package, clazz, extras_json);
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::SendNotificationEventToAndroid(
|
| - const std::string& key, ArcNotificationEvent event) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (key.empty()) {
|
| - LOG(ERROR) << "SendNotificationToAndroid failed: Wrong parameter";
|
| - return false;
|
| - }
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called SendNotificationEventToAndroid when the service is"
|
| - << "not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->SendNotificationEventToAndroid(key, event);
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::RefreshAppList() {
|
| - DCHECK(CalledOnValidThread());
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called RefreshAppList when the service is not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->RefreshAppList();
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::LaunchApp(const std::string& package,
|
| - const std::string& activity) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called LaunchApp when the service is not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->LaunchApp(package, activity);
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::RequestAppIcon(const std::string& package,
|
| - const std::string& activity,
|
| - ScaleFactor scale_factor) {
|
| - DCHECK(CalledOnValidThread());
|
| - if (state() != State::READY) {
|
| - LOG(ERROR) << "Called RequestAppIcon when the service is not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->RequestAppIcon(package, activity, scale_factor);
|
| - return true;
|
| -}
|
| -
|
| -bool ArcBridgeServiceImpl::RequestProcessList() {
|
| - DCHECK(CalledOnValidThread());
|
| - if (state() != State::READY) {
|
| - LOG_IF(ERROR, base::SysInfo::IsRunningOnChromeOS())
|
| - << "Called RequestProcessList when the service is not ready";
|
| - return false;
|
| - }
|
| - instance_ptr_->RequestProcessList();
|
| - return true;
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnInstanceBootPhase(InstanceBootPhase phase) {
|
| - DCHECK(CalledOnValidThread());
|
| - // The state can be CONNECTED the first time this is called, and will then
|
| - // transition to READY after BRIDGE_READY has been passed.
|
| - if (state() != State::CONNECTED && state() != State::READY) {
|
| - VLOG(1) << "StopInstance() called while connecting";
|
| - return;
|
| - }
|
| - if (phase == INSTANCE_BOOT_PHASE_BRIDGE_READY) {
|
| - SetState(State::READY);
|
| - }
|
| - FOR_EACH_OBSERVER(Observer, observer_list(), OnInstanceBootPhase(phase));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnNotificationPosted(ArcNotificationDataPtr data) {
|
| - DCHECK(CalledOnValidThread());
|
| - FOR_EACH_OBSERVER(NotificationObserver, notification_observer_list(),
|
| - OnNotificationPostedFromAndroid(*data.get()));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnNotificationRemoved(const mojo::String& key) {
|
| - DCHECK(CalledOnValidThread());
|
| - FOR_EACH_OBSERVER(NotificationObserver, notification_observer_list(),
|
| - OnNotificationRemovedFromAndroid(key));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnAppListRefreshed(
|
| - mojo::Array<arc::AppInfoPtr> apps_ptr) {
|
| - DCHECK(CalledOnValidThread());
|
| - std::vector<arc::AppInfo> apps(apps_ptr.To<std::vector<arc::AppInfo>>());
|
| - FOR_EACH_OBSERVER(AppObserver, app_observer_list(), OnAppListRefreshed(apps));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnAppIcon(const mojo::String& package,
|
| - const mojo::String& activity,
|
| - ScaleFactor scale_factor,
|
| - mojo::Array<uint8_t> icon_png_data) {
|
| - DCHECK(CalledOnValidThread());
|
| - FOR_EACH_OBSERVER(
|
| - AppObserver, app_observer_list(),
|
| - OnAppIcon(package, activity, scale_factor, icon_png_data.storage()));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnUpdateProcessList(
|
| - mojo::Array<RunningAppProcessInfoPtr> processes_ptr) {
|
| - DCHECK(CalledOnValidThread());
|
| - std::vector<RunningAppProcessInfo> processes(
|
| - processes_ptr.To<std::vector<RunningAppProcessInfo>>());
|
| - FOR_EACH_OBSERVER(
|
| - ProcessObserver,
|
| - process_observer_list(),
|
| - OnUpdateProcessList(processes));
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnAcquireDisplayWakeLock(DisplayWakeLockType type) {
|
| - DCHECK(CalledOnValidThread());
|
| - // TODO(ejcaruso): Implement.
|
| - VLOG(1) << "OnAcquireDisplayWakeLock";
|
| -}
|
| -
|
| -void ArcBridgeServiceImpl::OnReleaseDisplayWakeLock(DisplayWakeLockType type) {
|
| - DCHECK(CalledOnValidThread());
|
| - // TODO(ejcaruso): Implement.
|
| - VLOG(1) << "OnReleaseDisplayWakeLock";
|
| -}
|
| -
|
| void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) {
|
| DCHECK(CalledOnValidThread());
|
| if (available() == arc_available)
|
| @@ -290,7 +100,7 @@ void ArcBridgeServiceImpl::OnConnectionEstablished(
|
| binding_.Bind(GetProxy(&host));
|
| instance_ptr_->Init(std::move(host));
|
|
|
| - SetState(State::CONNECTED);
|
| + SetState(State::READY);
|
| }
|
|
|
| void ArcBridgeServiceImpl::OnStopped() {
|
|
|