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

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
10 namespace chromeos {
11
12 class BluetoothAdapterClient;
13 class BluetoothAgentManagerClient;
14 class BluetoothDeviceClient;
15 class BluetoothGattCharacteristicClient;
16 class BluetoothGattDescriptorClient;
17 class BluetoothGattManagerClient;
18 class BluetoothGattServiceClient;
19 class BluetoothInputClient;
20 class BluetoothProfileManagerClient;
21 class CrasAudioClient;
22 class CrosDisksClient;
23 class CryptohomeClient;
24 class DebugDaemonClient;
25 class EasyUnlockClient;
26 class LorgnetteManagerClient;
27 class ShillDeviceClient;
28 class ShillIPConfigClient;
29 class ShillManagerClient;
30 class ShillServiceClient;
31 class ShillProfileClient;
32 class GsmSMSClient;
33 class ImageBurnerClient;
34 class IntrospectableClient;
35 class ModemMessagingClient;
36 class NfcManagerClient;
37 class NfcAdapterClient;
38 class NfcDeviceClient;
39 class NfcTagClient;
40 class NfcRecordClient;
41 class PermissionBrokerClient;
42 class SystemClockClient;
43 class PowerManagerClient;
44 class SessionManagerClient;
45 class SMSClient;
46 class UpdateEngineClient;
47
48 // The bundle of all D-Bus clients used in DBusThreadManagerImpl. The bundle
49 // is used to delete them at once in the right order before shutting down the
50 // system bus. See also the comment in the destructor of DBusThreadManagerImpl.
51 class DBusClientBundle {
52 public:
53 // TODO(zelidrag): We might want to collapse few more of these subsystems if
54 // their dbus interfaced correspond to the same daemon.
55 enum DBusClientType {
56 UNKNOWN = 0,
57 BLUETOOTH = 1 << 1,
58 BLUETOOTH_LOW_ENERGY = 1 << 2,
59 CRAS = 1 << 3,
60 CROS_DISKS = 1 << 4,
61 CRYPTOHOME = 1 << 5,
62 DEBUG_DAEMON = 1 << 6,
63 EASY_UNLOCK = 1 << 7,
64 LORGNETTE_MANAGER = 1 << 8,
65 SHILL = 1 << 9,
66 GSM_SMS = 1 << 10,
67 IMAGE_BURNER = 1 << 11,
68 INTROSPECTABLE = 1 << 12,
69 MODEM_MESSAGING = 1 << 13,
70 NFC = 1 << 14,
71 PERMISSION_BROKER = 1 << 15,
72 POWER_MANAGER = 1 << 16,
73 POWER_POLICY = 1 << 17,
74 SESSION_MANAGER = 1 << 18,
75 SMS = 1 << 19,
76 SYSTEM_CLOCK = 1 << 20,
77 UPDATE_ENGINE = 1 << 21,
78 All = 0xFFFFFFFF,
79 };
80
81 explicit DBusClientBundle(int client_mask);
82 virtual ~DBusClientBundle();
83
84 BluetoothAdapterClient* bluetooth_adapter_client();
85
86 BluetoothAgentManagerClient* bluetooth_agent_manager_client();
87
88 BluetoothDeviceClient* bluetooth_device_client();
89
90 BluetoothGattCharacteristicClient* bluetooth_gatt_characteristic_client();
91
92 BluetoothGattDescriptorClient* bluetooth_gatt_descriptor_client();
93
94 BluetoothGattManagerClient* bluetooth_gatt_manager_client();
95
96 BluetoothGattServiceClient* bluetooth_gatt_service_client();
97
98 BluetoothInputClient* bluetooth_input_client();
99
100 BluetoothProfileManagerClient* bluetooth_profile_manager_client();
101
102 CrasAudioClient* cras_audio_client();
103
104 CrosDisksClient* cros_disks_client();
105
106 CryptohomeClient* cryptohome_client();
107
108 DebugDaemonClient* debug_daemon_client();
109
110 EasyUnlockClient* easy_unlock_client();
111
112 LorgnetteManagerClient* lorgnette_manager_client();
113
114 ShillDeviceClient* shill_device_client();
115
116 ShillIPConfigClient* shill_ipconfig_client();
117
118 ShillManagerClient* shill_manager_client();
119
120 ShillServiceClient* shill_service_client();
121
122 ShillProfileClient* shill_profile_client();
123
124 GsmSMSClient* gsm_sms_client();
125
126 ImageBurnerClient* image_burner_client();
127
128 IntrospectableClient* introspectable_client();
129
130 ModemMessagingClient* modem_messaging_client();
131
132 NfcManagerClient* nfc_manager_client();
133
134 NfcAdapterClient* nfc_adapter_client();
135
136 NfcDeviceClient* nfc_device_client();
137
138 NfcTagClient* nfc_tag_client();
139
140 NfcRecordClient* nfc_record_client();
141
142 PermissionBrokerClient* permission_broker_client();
143
144 SystemClockClient* system_clock_client();
145
146 PowerManagerClient* power_manager_client();
147
148 SessionManagerClient* session_manager_client();
149
150 SMSClient* sms_client();
151
152 UpdateEngineClient* update_engine_client();
153
154
155 private:
156 scoped_ptr<BluetoothAdapterClient> bluetooth_adapter_client_;
157 scoped_ptr<BluetoothAgentManagerClient> bluetooth_agent_manager_client_;
158 scoped_ptr<BluetoothDeviceClient> bluetooth_device_client_;
159 scoped_ptr<BluetoothGattCharacteristicClient>
160 bluetooth_gatt_characteristic_client_;
161 scoped_ptr<BluetoothGattDescriptorClient> bluetooth_gatt_descriptor_client_;
162 scoped_ptr<BluetoothGattManagerClient> bluetooth_gatt_manager_client_;
163 scoped_ptr<BluetoothGattServiceClient> bluetooth_gatt_service_client_;
164 scoped_ptr<BluetoothInputClient> bluetooth_input_client_;
165 scoped_ptr<BluetoothProfileManagerClient> bluetooth_profile_manager_client_;
166 scoped_ptr<CrasAudioClient> cras_audio_client_;
167 scoped_ptr<CrosDisksClient> cros_disks_client_;
168 scoped_ptr<CryptohomeClient> cryptohome_client_;
169 scoped_ptr<DebugDaemonClient> debug_daemon_client_;
170 scoped_ptr<EasyUnlockClient> easy_unlock_client_;
171 scoped_ptr<LorgnetteManagerClient> lorgnette_manager_client_;
172 scoped_ptr<ShillDeviceClient> shill_device_client_;
173 scoped_ptr<ShillIPConfigClient> shill_ipconfig_client_;
174 scoped_ptr<ShillManagerClient> shill_manager_client_;
175 scoped_ptr<ShillServiceClient> shill_service_client_;
176 scoped_ptr<ShillProfileClient> shill_profile_client_;
177 scoped_ptr<GsmSMSClient> gsm_sms_client_;
178 scoped_ptr<ImageBurnerClient> image_burner_client_;
179 scoped_ptr<IntrospectableClient> introspectable_client_;
180 scoped_ptr<ModemMessagingClient> modem_messaging_client_;
181 // The declaration order for NFC client objects is important. See
182 // DBusThreadManager::CreateDefaultClients for the dependencies.
183 scoped_ptr<NfcManagerClient> nfc_manager_client_;
184 scoped_ptr<NfcAdapterClient> nfc_adapter_client_;
185 scoped_ptr<NfcDeviceClient> nfc_device_client_;
186 scoped_ptr<NfcTagClient> nfc_tag_client_;
187 scoped_ptr<NfcRecordClient> nfc_record_client_;
188 scoped_ptr<PermissionBrokerClient> permission_broker_client_;
189 scoped_ptr<SystemClockClient> system_clock_client_;
190 scoped_ptr<PowerManagerClient> power_manager_client_;
191 scoped_ptr<SessionManagerClient> session_manager_client_;
192 scoped_ptr<SMSClient> sms_client_;
193 scoped_ptr<UpdateEngineClient> update_engine_client_;
194
195 DISALLOW_COPY_AND_ASSIGN(DBusClientBundle);
196 };
197
198 } // namespace chromeos
199
200 #endif // CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698