Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: chromeos/dbus/dbus_client_bundle.h

Issue 444263002: Added switch that let us 'un-stub' certain dbus clients. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
6 #define CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "chromeos/chromeos_export.h"
10
11 namespace chromeos {
12
13 class BluetoothAdapterClient;
14 class BluetoothAgentManagerClient;
15 class BluetoothDeviceClient;
16 class BluetoothGattCharacteristicClient;
17 class BluetoothGattDescriptorClient;
18 class BluetoothGattManagerClient;
19 class BluetoothGattServiceClient;
20 class BluetoothInputClient;
21 class BluetoothProfileManagerClient;
22 class CrasAudioClient;
23 class CrosDisksClient;
24 class CryptohomeClient;
25 class DebugDaemonClient;
26 class EasyUnlockClient;
27 class LorgnetteManagerClient;
28 class ShillDeviceClient;
29 class ShillIPConfigClient;
30 class ShillManagerClient;
31 class ShillServiceClient;
32 class ShillProfileClient;
33 class GsmSMSClient;
34 class ImageBurnerClient;
35 class IntrospectableClient;
36 class ModemMessagingClient;
37 class NfcManagerClient;
38 class NfcAdapterClient;
39 class NfcDeviceClient;
40 class NfcTagClient;
41 class NfcRecordClient;
42 class PermissionBrokerClient;
43 class SystemClockClient;
44 class PowerManagerClient;
45 class SessionManagerClient;
46 class SMSClient;
47 class UpdateEngineClient;
48
49 // The bundle of all D-Bus clients used in DBusThreadManagerImpl. The bundle
50 // is used to delete them at once in the right order before shutting down the
51 // system bus. See also the comment in the destructor of DBusThreadManagerImpl.
52 class CHROMEOS_EXPORT DBusClientBundle {
53 public:
54 typedef unsigned int DBusClientTypeMask;
55
56 // TODO(zelidrag): We might want to collapse few more of these subsystems if
57 // their dbus interfaced correspond to the same daemon.
58 enum DBusClientType {
59 UNKNOWN = 0,
60 BLUETOOTH = 1 << 0,
61 BLUETOOTH_LOW_ENERGY = 1 << 1,
62 CRAS = 1 << 2,
63 CROS_DISKS = 1 << 3,
64 CRYPTOHOME = 1 << 4,
65 DEBUG_DAEMON = 1 << 5,
66 EASY_UNLOCK = 1 << 6,
67 LORGNETTE_MANAGER = 1 << 7,
68 SHILL = 1 << 8,
69 GSM_SMS = 1 << 9,
70 IMAGE_BURNER = 1 << 10,
71 INTROSPECTABLE = 1 << 11,
72 MODEM_MESSAGING = 1 << 12,
73 NFC = 1 << 13,
74 PERMISSION_BROKER = 1 << 14,
75 POWER_MANAGER = 1 << 15,
76 SESSION_MANAGER = 1 << 16,
77 SMS = 1 << 17,
78 SYSTEM_CLOCK = 1 << 18,
79 UPDATE_ENGINE = 1 << 19,
80 ALL_CLIENTS = 0xFFFFFFFF,
81 };
82
83 DBusClientBundle();
84 virtual ~DBusClientBundle();
85
86 // Parses command line param values for dbus subsystem that should be
87 // un-stubbed.
88 static DBusClientTypeMask ParseUnstubList(const std::string& unstub_list);
89
90 BluetoothAdapterClient* bluetooth_adapter_client() {
91 return bluetooth_adapter_client_.get();
92 }
93
94 BluetoothAgentManagerClient* bluetooth_agent_manager_client() {
95 return bluetooth_agent_manager_client_.get();
96 }
97
98 BluetoothDeviceClient* bluetooth_device_client() {
99 return bluetooth_device_client_.get();
100 }
101
102 BluetoothGattCharacteristicClient* bluetooth_gatt_characteristic_client() {
103 return bluetooth_gatt_characteristic_client_.get();
104 }
105
106 BluetoothGattDescriptorClient* bluetooth_gatt_descriptor_client() {
107 return bluetooth_gatt_descriptor_client_.get();
108
109 }
110 BluetoothGattManagerClient* bluetooth_gatt_manager_client() {
111 return bluetooth_gatt_manager_client_.get();
112 }
113
114 BluetoothGattServiceClient* bluetooth_gatt_service_client() {
115 return bluetooth_gatt_service_client_.get();
116 }
117
118 BluetoothInputClient* bluetooth_input_client() {
119 return bluetooth_input_client_.get();
120 }
121
122 BluetoothProfileManagerClient* bluetooth_profile_manager_client() {
123 return bluetooth_profile_manager_client_.get();
124 }
125
126 CrasAudioClient* cras_audio_client() {
127 return cras_audio_client_.get();
128 }
129
130 CrosDisksClient* cros_disks_client() {
131 return cros_disks_client_.get();
132 }
133
134 CryptohomeClient* cryptohome_client() {
135 return cryptohome_client_.get();
136 }
137
138 DebugDaemonClient* debug_daemon_client() {
139 return debug_daemon_client_.get();
140 }
141
142 EasyUnlockClient* easy_unlock_client() {
143 return easy_unlock_client_.get();
144 }
145
146 LorgnetteManagerClient* lorgnette_manager_client() {
147 return lorgnette_manager_client_.get();
148 }
149
150 ShillDeviceClient* shill_device_client() {
151 return shill_device_client_.get();
152 }
153
154 ShillIPConfigClient* shill_ipconfig_client() {
155 return shill_ipconfig_client_.get();
156 }
157
158 ShillManagerClient* shill_manager_client() {
159 return shill_manager_client_.get();
160 }
161
162 ShillServiceClient* shill_service_client() {
163 return shill_service_client_.get();
164 }
165
166 ShillProfileClient* shill_profile_client() {
167 return shill_profile_client_.get();
168 }
169
170 GsmSMSClient* gsm_sms_client() {
171 return gsm_sms_client_.get();
172 }
173
174 ImageBurnerClient* image_burner_client() {
175 return image_burner_client_.get();
176 }
177
178 IntrospectableClient* introspectable_client() {
179 return introspectable_client_.get();
180 }
181
182 ModemMessagingClient* modem_messaging_client() {
183 return modem_messaging_client_.get();
184 }
185
186 NfcManagerClient* nfc_manager_client() {
187 return nfc_manager_client_.get();
188 }
189
190 NfcAdapterClient* nfc_adapter_client() {
191 return nfc_adapter_client_.get();
192 }
193
194 NfcDeviceClient* nfc_device_client() {
195 return nfc_device_client_.get();
196 }
197
198 NfcTagClient* nfc_tag_client() {
199 return nfc_tag_client_.get();
200 }
201
202 NfcRecordClient* nfc_record_client() {
203 return nfc_record_client_.get();
204 }
205
206 PermissionBrokerClient* permission_broker_client() {
207 return permission_broker_client_.get();
208 }
209
210 SystemClockClient* system_clock_client() {
211 return system_clock_client_.get();
212 }
213
214 PowerManagerClient* power_manager_client() {
215 return power_manager_client_.get();
216 }
217
218 SessionManagerClient* session_manager_client() {
219 return session_manager_client_.get();
220 }
221
222 SMSClient* sms_client() {
223 return sms_client_.get();
224 }
225
226 UpdateEngineClient* update_engine_client() {
227 return update_engine_client_.get();
228 }
229
230 private:
231 scoped_ptr<BluetoothAdapterClient> bluetooth_adapter_client_;
232 scoped_ptr<BluetoothAgentManagerClient> bluetooth_agent_manager_client_;
233 scoped_ptr<BluetoothDeviceClient> bluetooth_device_client_;
234 scoped_ptr<BluetoothGattCharacteristicClient>
235 bluetooth_gatt_characteristic_client_;
236 scoped_ptr<BluetoothGattDescriptorClient> bluetooth_gatt_descriptor_client_;
237 scoped_ptr<BluetoothGattManagerClient> bluetooth_gatt_manager_client_;
238 scoped_ptr<BluetoothGattServiceClient> bluetooth_gatt_service_client_;
239 scoped_ptr<BluetoothInputClient> bluetooth_input_client_;
240 scoped_ptr<BluetoothProfileManagerClient> bluetooth_profile_manager_client_;
241 scoped_ptr<CrasAudioClient> cras_audio_client_;
242 scoped_ptr<CrosDisksClient> cros_disks_client_;
243 scoped_ptr<CryptohomeClient> cryptohome_client_;
244 scoped_ptr<DebugDaemonClient> debug_daemon_client_;
245 scoped_ptr<EasyUnlockClient> easy_unlock_client_;
246 scoped_ptr<LorgnetteManagerClient> lorgnette_manager_client_;
247 scoped_ptr<ShillDeviceClient> shill_device_client_;
248 scoped_ptr<ShillIPConfigClient> shill_ipconfig_client_;
249 scoped_ptr<ShillManagerClient> shill_manager_client_;
250 scoped_ptr<ShillServiceClient> shill_service_client_;
251 scoped_ptr<ShillProfileClient> shill_profile_client_;
252 scoped_ptr<GsmSMSClient> gsm_sms_client_;
253 scoped_ptr<ImageBurnerClient> image_burner_client_;
254 scoped_ptr<IntrospectableClient> introspectable_client_;
255 scoped_ptr<ModemMessagingClient> modem_messaging_client_;
256 // The declaration order for NFC client objects is important. See
257 // DBusThreadManager::CreateDefaultClients for the dependencies.
258 scoped_ptr<NfcManagerClient> nfc_manager_client_;
259 scoped_ptr<NfcAdapterClient> nfc_adapter_client_;
260 scoped_ptr<NfcDeviceClient> nfc_device_client_;
261 scoped_ptr<NfcTagClient> nfc_tag_client_;
262 scoped_ptr<NfcRecordClient> nfc_record_client_;
263 scoped_ptr<PermissionBrokerClient> permission_broker_client_;
264 scoped_ptr<SystemClockClient> system_clock_client_;
265 scoped_ptr<PowerManagerClient> power_manager_client_;
266 scoped_ptr<SessionManagerClient> session_manager_client_;
267 scoped_ptr<SMSClient> sms_client_;
268 scoped_ptr<UpdateEngineClient> update_engine_client_;
269
270 DISALLOW_COPY_AND_ASSIGN(DBusClientBundle);
271 };
272
273 } // namespace chromeos
274
275 #endif // CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698