chromeos: Move //ash/common files into //ash
//ash contains the "Aura Shell" system UI used by Chrome OS. For the
mustash servicification project we initially started moving files into
//ash/mus vs. //ash/aura vs. //ash/common. This allowed us to use DEPS
to ban aura includes. We now support aura on mus all the time, so we
don't need this directory structure.
BUG=690096
TEST=compiles, ash_unittests
[email protected]
Change-Id: I682586877b6c537d2db613664318bbc0365362c6
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation
Change-Id: I682586877b6c537d2db613664318bbc0365362c6
Reviewed-on: https://chromium-review.googlesource.com/472548
Reviewed-by: James Cook <[email protected]>
Cr-Commit-Position: refs/heads/master@{#463140}
diff --git a/ash/mojo_interface_factory.cc b/ash/mojo_interface_factory.cc
new file mode 100644
index 0000000..fc1f2b8e
--- /dev/null
+++ b/ash/mojo_interface_factory.cc
@@ -0,0 +1,131 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/mojo_interface_factory.h"
+
+#include <utility>
+
+#include "ash/accelerators/accelerator_controller.h"
+#include "ash/cast_config_controller.h"
+#include "ash/media_controller.h"
+#include "ash/new_window_controller.h"
+#include "ash/session/session_controller.h"
+#include "ash/shelf/shelf_controller.h"
+#include "ash/shell.h"
+#include "ash/shell_delegate.h"
+#include "ash/shutdown_controller.h"
+#include "ash/system/locale/locale_notification_controller.h"
+#include "ash/system/network/vpn_list.h"
+#include "ash/system/tray/system_tray_controller.h"
+#include "ash/wallpaper/wallpaper_controller.h"
+#include "ash/wm/maximize_mode/maximize_mode_controller.h"
+#include "base/bind.h"
+#include "services/service_manager/public/cpp/binder_registry.h"
+#include "ui/app_list/presenter/app_list.h"
+
+namespace ash {
+
+namespace {
+
+void BindAcceleratorControllerRequestOnMainThread(
+ mojom::AcceleratorControllerRequest request) {
+ Shell::Get()->accelerator_controller()->BindRequest(std::move(request));
+}
+
+void BindAppListRequestOnMainThread(app_list::mojom::AppListRequest request) {
+ Shell::Get()->app_list()->BindRequest(std::move(request));
+}
+
+void BindCastConfigOnMainThread(mojom::CastConfigRequest request) {
+ Shell::Get()->cast_config()->BindRequest(std::move(request));
+}
+
+void BindLocaleNotificationControllerOnMainThread(
+ mojom::LocaleNotificationControllerRequest request) {
+ Shell::Get()->locale_notification_controller()->BindRequest(
+ std::move(request));
+}
+
+void BindMediaControllerRequestOnMainThread(
+ mojom::MediaControllerRequest request) {
+ Shell::Get()->media_controller()->BindRequest(std::move(request));
+}
+
+void BindNewWindowControllerRequestOnMainThread(
+ mojom::NewWindowControllerRequest request) {
+ Shell::Get()->new_window_controller()->BindRequest(std::move(request));
+}
+
+void BindSessionControllerRequestOnMainThread(
+ mojom::SessionControllerRequest request) {
+ Shell::Get()->session_controller()->BindRequest(std::move(request));
+}
+
+void BindShelfRequestOnMainThread(mojom::ShelfControllerRequest request) {
+ Shell::Get()->shelf_controller()->BindRequest(std::move(request));
+}
+
+void BindShutdownControllerRequestOnMainThread(
+ mojom::ShutdownControllerRequest request) {
+ Shell::Get()->shutdown_controller()->BindRequest(std::move(request));
+}
+
+void BindSystemTrayRequestOnMainThread(mojom::SystemTrayRequest request) {
+ Shell::Get()->system_tray_controller()->BindRequest(std::move(request));
+}
+
+void BindTouchViewRequestOnMainThread(mojom::TouchViewManagerRequest request) {
+ Shell::Get()->maximize_mode_controller()->BindRequest(std::move(request));
+}
+
+void BindVpnListRequestOnMainThread(mojom::VpnListRequest request) {
+ Shell::Get()->vpn_list()->BindRequest(std::move(request));
+}
+
+void BindWallpaperRequestOnMainThread(
+ mojom::WallpaperControllerRequest request) {
+ Shell::Get()->wallpaper_controller()->BindRequest(std::move(request));
+}
+
+} // namespace
+
+namespace mojo_interface_factory {
+
+void RegisterInterfaces(
+ service_manager::BinderRegistry* registry,
+ scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner) {
+ registry->AddInterface(
+ base::Bind(&BindAcceleratorControllerRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindAppListRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindCastConfigOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(
+ base::Bind(&BindLocaleNotificationControllerOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindMediaControllerRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(
+ base::Bind(&BindNewWindowControllerRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindSessionControllerRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindShelfRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindShutdownControllerRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindSystemTrayRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindTouchViewRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindVpnListRequestOnMainThread),
+ main_thread_task_runner);
+ registry->AddInterface(base::Bind(&BindWallpaperRequestOnMainThread),
+ main_thread_task_runner);
+}
+
+} // namespace mojo_interface_factory
+
+} // namespace ash