blob: 60abe9d52dc3dcc9bf648fe13476f18ad6a53d45 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// Copyright 2015 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.
#ifndef COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
#define COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
#include "base/macros.h"
#include "components/arc/instance_holder.h"
namespace arc {
namespace mojom {
// Instead of including components/arc/common/arc_bridge.mojom.h, list all the
// instance classes here for faster build.
class AccessibilityHelperInstance;
class AppInstance;
class AudioInstance;
class AuthInstance;
class BluetoothInstance;
class BootPhaseMonitorInstance;
class ClipboardInstance;
class CrashCollectorInstance;
class EnterpriseReportingInstance;
class FileSystemInstance;
class ImeInstance;
class IntentHelperInstance;
class KioskInstance;
class MetricsInstance;
class NetInstance;
class NotificationsInstance;
class ObbMounterInstance;
class PolicyInstance;
class PowerInstance;
class PrintInstance;
class ProcessInstance;
class StorageManagerInstance;
class TtsInstance;
class VideoInstance;
class WallpaperInstance;
} // namespace mojom
// Holds Mojo channels which proxy to ARC side implementation. The actual
// instances are set/removed via ArcBridgeHostImpl.
class ArcBridgeService {
public:
ArcBridgeService();
~ArcBridgeService();
InstanceHolder<mojom::AccessibilityHelperInstance>* accessibility_helper() {
return &accessibility_helper_;
}
InstanceHolder<mojom::AppInstance>* app() { return &app_; }
InstanceHolder<mojom::AudioInstance>* audio() { return &audio_; }
InstanceHolder<mojom::AuthInstance>* auth() { return &auth_; }
InstanceHolder<mojom::BluetoothInstance>* bluetooth() { return &bluetooth_; }
InstanceHolder<mojom::BootPhaseMonitorInstance>* boot_phase_monitor() {
return &boot_phase_monitor_;
}
InstanceHolder<mojom::ClipboardInstance>* clipboard() { return &clipboard_; }
InstanceHolder<mojom::CrashCollectorInstance>* crash_collector() {
return &crash_collector_;
}
InstanceHolder<mojom::EnterpriseReportingInstance>* enterprise_reporting() {
return &enterprise_reporting_;
}
InstanceHolder<mojom::FileSystemInstance>* file_system() {
return &file_system_;
}
InstanceHolder<mojom::ImeInstance>* ime() { return &ime_; }
InstanceHolder<mojom::IntentHelperInstance>* intent_helper() {
return &intent_helper_;
}
InstanceHolder<mojom::KioskInstance>* kiosk() { return &kiosk_; }
InstanceHolder<mojom::MetricsInstance>* metrics() { return &metrics_; }
InstanceHolder<mojom::NetInstance>* net() { return &net_; }
InstanceHolder<mojom::NotificationsInstance>* notifications() {
return ¬ifications_;
}
InstanceHolder<mojom::ObbMounterInstance>* obb_mounter() {
return &obb_mounter_;
}
InstanceHolder<mojom::PolicyInstance>* policy() { return &policy_; }
InstanceHolder<mojom::PowerInstance>* power() { return &power_; }
InstanceHolder<mojom::PrintInstance>* print() { return &print_; }
InstanceHolder<mojom::ProcessInstance>* process() { return &process_; }
InstanceHolder<mojom::StorageManagerInstance>* storage_manager() {
return &storage_manager_;
}
InstanceHolder<mojom::TtsInstance>* tts() { return &tts_; }
InstanceHolder<mojom::VideoInstance>* video() { return &video_; }
InstanceHolder<mojom::WallpaperInstance>* wallpaper() { return &wallpaper_; }
private:
InstanceHolder<mojom::AccessibilityHelperInstance> accessibility_helper_;
InstanceHolder<mojom::AppInstance> app_;
InstanceHolder<mojom::AudioInstance> audio_;
InstanceHolder<mojom::AuthInstance> auth_;
InstanceHolder<mojom::BluetoothInstance> bluetooth_;
InstanceHolder<mojom::BootPhaseMonitorInstance> boot_phase_monitor_;
InstanceHolder<mojom::ClipboardInstance> clipboard_;
InstanceHolder<mojom::CrashCollectorInstance> crash_collector_;
InstanceHolder<mojom::EnterpriseReportingInstance> enterprise_reporting_;
InstanceHolder<mojom::FileSystemInstance> file_system_;
InstanceHolder<mojom::ImeInstance> ime_;
InstanceHolder<mojom::IntentHelperInstance> intent_helper_;
InstanceHolder<mojom::KioskInstance> kiosk_;
InstanceHolder<mojom::MetricsInstance> metrics_;
InstanceHolder<mojom::NetInstance> net_;
InstanceHolder<mojom::NotificationsInstance> notifications_;
InstanceHolder<mojom::ObbMounterInstance> obb_mounter_;
InstanceHolder<mojom::PolicyInstance> policy_;
InstanceHolder<mojom::PowerInstance> power_;
InstanceHolder<mojom::PrintInstance> print_;
InstanceHolder<mojom::ProcessInstance> process_;
InstanceHolder<mojom::StorageManagerInstance> storage_manager_;
InstanceHolder<mojom::TtsInstance> tts_;
InstanceHolder<mojom::VideoInstance> video_;
InstanceHolder<mojom::WallpaperInstance> wallpaper_;
DISALLOW_COPY_AND_ASSIGN(ArcBridgeService);
};
} // namespace arc
#endif // COMPONENTS_ARC_ARC_BRIDGE_SERVICE_H_
|