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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/bluetooth_profile_service_provider.cc ('k') | chromeos/dbus/dbus_client_bundle.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/dbus_client_bundle.h
diff --git a/chromeos/dbus/dbus_client_bundle.h b/chromeos/dbus/dbus_client_bundle.h
new file mode 100644
index 0000000000000000000000000000000000000000..21fbce22c87b11314101fb21c52b78f315eca45e
--- /dev/null
+++ b/chromeos/dbus/dbus_client_bundle.h
@@ -0,0 +1,274 @@
+// Copyright (c) 2014 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 CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
+#define CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
+
+#include "base/memory/scoped_ptr.h"
+#include "chromeos/chromeos_export.h"
+
+namespace chromeos {
+
+class BluetoothAdapterClient;
+class BluetoothAgentManagerClient;
+class BluetoothDeviceClient;
+class BluetoothGattCharacteristicClient;
+class BluetoothGattDescriptorClient;
+class BluetoothGattManagerClient;
+class BluetoothGattServiceClient;
+class BluetoothInputClient;
+class BluetoothProfileManagerClient;
+class CrasAudioClient;
+class CrosDisksClient;
+class CryptohomeClient;
+class DebugDaemonClient;
+class EasyUnlockClient;
+class LorgnetteManagerClient;
+class ShillDeviceClient;
+class ShillIPConfigClient;
+class ShillManagerClient;
+class ShillServiceClient;
+class ShillProfileClient;
+class GsmSMSClient;
+class ImageBurnerClient;
+class IntrospectableClient;
+class ModemMessagingClient;
+class NfcManagerClient;
+class NfcAdapterClient;
+class NfcDeviceClient;
+class NfcTagClient;
+class NfcRecordClient;
+class PermissionBrokerClient;
+class SystemClockClient;
+class PowerManagerClient;
+class SessionManagerClient;
+class SMSClient;
+class UpdateEngineClient;
+
+// The bundle of all D-Bus clients used in DBusThreadManagerImpl. The bundle
+// is used to delete them at once in the right order before shutting down the
+// system bus. See also the comment in the destructor of DBusThreadManagerImpl.
+class CHROMEOS_EXPORT DBusClientBundle {
+ public:
+ typedef unsigned int DBusClientTypeMask;
+
+ // TODO(zelidrag): We might want to collapse few more of these subsystems if
+ // their dbus interfaced correspond to the same daemon.
+ enum DBusClientType {
+ NO_CLIENTS = 0,
+ BLUETOOTH = 1 << 0,
+ CRAS = 1 << 1,
+ CROS_DISKS = 1 << 2,
+ CRYPTOHOME = 1 << 3,
+ DEBUG_DAEMON = 1 << 4,
+ EASY_UNLOCK = 1 << 5,
+ LORGNETTE_MANAGER = 1 << 6,
+ SHILL = 1 << 7,
+ GSM_SMS = 1 << 8,
+ IMAGE_BURNER = 1 << 9,
+ INTROSPECTABLE = 1 << 10,
+ MODEM_MESSAGING = 1 << 11,
+ NFC = 1 << 12,
+ PERMISSION_BROKER = 1 << 13,
+ POWER_MANAGER = 1 << 14,
+ SESSION_MANAGER = 1 << 15,
+ SMS = 1 << 16,
+ SYSTEM_CLOCK = 1 << 17,
+ UPDATE_ENGINE = 1 << 18,
+ ALL_CLIENTS = ~static_cast<DBusClientTypeMask>(0),
+ };
+
+ DBusClientBundle();
+ virtual ~DBusClientBundle();
+
+ // Parses command line param values for dbus subsystem that should be
+ // un-stubbed.
+ static DBusClientTypeMask ParseUnstubList(const std::string& unstub_list);
+
+ BluetoothAdapterClient* bluetooth_adapter_client() {
+ return bluetooth_adapter_client_.get();
+ }
+
+ BluetoothAgentManagerClient* bluetooth_agent_manager_client() {
+ return bluetooth_agent_manager_client_.get();
+ }
+
+ BluetoothDeviceClient* bluetooth_device_client() {
+ return bluetooth_device_client_.get();
+ }
+
+ BluetoothGattCharacteristicClient* bluetooth_gatt_characteristic_client() {
+ return bluetooth_gatt_characteristic_client_.get();
+ }
+
+ BluetoothGattDescriptorClient* bluetooth_gatt_descriptor_client() {
+ return bluetooth_gatt_descriptor_client_.get();
+
+ }
+ BluetoothGattManagerClient* bluetooth_gatt_manager_client() {
+ return bluetooth_gatt_manager_client_.get();
+ }
+
+ BluetoothGattServiceClient* bluetooth_gatt_service_client() {
+ return bluetooth_gatt_service_client_.get();
+ }
+
+ BluetoothInputClient* bluetooth_input_client() {
+ return bluetooth_input_client_.get();
+ }
+
+ BluetoothProfileManagerClient* bluetooth_profile_manager_client() {
+ return bluetooth_profile_manager_client_.get();
+ }
+
+ CrasAudioClient* cras_audio_client() {
+ return cras_audio_client_.get();
+ }
+
+ CrosDisksClient* cros_disks_client() {
+ return cros_disks_client_.get();
+ }
+
+ CryptohomeClient* cryptohome_client() {
+ return cryptohome_client_.get();
+ }
+
+ DebugDaemonClient* debug_daemon_client() {
+ return debug_daemon_client_.get();
+ }
+
+ EasyUnlockClient* easy_unlock_client() {
+ return easy_unlock_client_.get();
+ }
+
+ LorgnetteManagerClient* lorgnette_manager_client() {
+ return lorgnette_manager_client_.get();
+ }
+
+ ShillDeviceClient* shill_device_client() {
+ return shill_device_client_.get();
+ }
+
+ ShillIPConfigClient* shill_ipconfig_client() {
+ return shill_ipconfig_client_.get();
+ }
+
+ ShillManagerClient* shill_manager_client() {
+ return shill_manager_client_.get();
+ }
+
+ ShillServiceClient* shill_service_client() {
+ return shill_service_client_.get();
+ }
+
+ ShillProfileClient* shill_profile_client() {
+ return shill_profile_client_.get();
+ }
+
+ GsmSMSClient* gsm_sms_client() {
+ return gsm_sms_client_.get();
+ }
+
+ ImageBurnerClient* image_burner_client() {
+ return image_burner_client_.get();
+ }
+
+ IntrospectableClient* introspectable_client() {
+ return introspectable_client_.get();
+ }
+
+ ModemMessagingClient* modem_messaging_client() {
+ return modem_messaging_client_.get();
+ }
+
+ NfcManagerClient* nfc_manager_client() {
+ return nfc_manager_client_.get();
+ }
+
+ NfcAdapterClient* nfc_adapter_client() {
+ return nfc_adapter_client_.get();
+ }
+
+ NfcDeviceClient* nfc_device_client() {
+ return nfc_device_client_.get();
+ }
+
+ NfcTagClient* nfc_tag_client() {
+ return nfc_tag_client_.get();
+ }
+
+ NfcRecordClient* nfc_record_client() {
+ return nfc_record_client_.get();
+ }
+
+ PermissionBrokerClient* permission_broker_client() {
+ return permission_broker_client_.get();
+ }
+
+ SystemClockClient* system_clock_client() {
+ return system_clock_client_.get();
+ }
+
+ PowerManagerClient* power_manager_client() {
+ return power_manager_client_.get();
+ }
+
+ SessionManagerClient* session_manager_client() {
+ return session_manager_client_.get();
+ }
+
+ SMSClient* sms_client() {
+ return sms_client_.get();
+ }
+
+ UpdateEngineClient* update_engine_client() {
+ return update_engine_client_.get();
+ }
+
+ private:
+ scoped_ptr<BluetoothAdapterClient> bluetooth_adapter_client_;
+ scoped_ptr<BluetoothAgentManagerClient> bluetooth_agent_manager_client_;
+ scoped_ptr<BluetoothDeviceClient> bluetooth_device_client_;
+ scoped_ptr<BluetoothGattCharacteristicClient>
+ bluetooth_gatt_characteristic_client_;
+ scoped_ptr<BluetoothGattDescriptorClient> bluetooth_gatt_descriptor_client_;
+ scoped_ptr<BluetoothGattManagerClient> bluetooth_gatt_manager_client_;
+ scoped_ptr<BluetoothGattServiceClient> bluetooth_gatt_service_client_;
+ scoped_ptr<BluetoothInputClient> bluetooth_input_client_;
+ scoped_ptr<BluetoothProfileManagerClient> bluetooth_profile_manager_client_;
+ scoped_ptr<CrasAudioClient> cras_audio_client_;
+ scoped_ptr<CrosDisksClient> cros_disks_client_;
+ scoped_ptr<CryptohomeClient> cryptohome_client_;
+ scoped_ptr<DebugDaemonClient> debug_daemon_client_;
+ scoped_ptr<EasyUnlockClient> easy_unlock_client_;
+ scoped_ptr<LorgnetteManagerClient> lorgnette_manager_client_;
+ scoped_ptr<ShillDeviceClient> shill_device_client_;
+ scoped_ptr<ShillIPConfigClient> shill_ipconfig_client_;
+ scoped_ptr<ShillManagerClient> shill_manager_client_;
+ scoped_ptr<ShillServiceClient> shill_service_client_;
+ scoped_ptr<ShillProfileClient> shill_profile_client_;
+ scoped_ptr<GsmSMSClient> gsm_sms_client_;
+ scoped_ptr<ImageBurnerClient> image_burner_client_;
+ scoped_ptr<IntrospectableClient> introspectable_client_;
+ scoped_ptr<ModemMessagingClient> modem_messaging_client_;
+ // The declaration order for NFC client objects is important. See
+ // DBusThreadManager::CreateDefaultClients for the dependencies.
+ scoped_ptr<NfcManagerClient> nfc_manager_client_;
+ scoped_ptr<NfcAdapterClient> nfc_adapter_client_;
+ scoped_ptr<NfcDeviceClient> nfc_device_client_;
+ scoped_ptr<NfcTagClient> nfc_tag_client_;
+ scoped_ptr<NfcRecordClient> nfc_record_client_;
+ scoped_ptr<PermissionBrokerClient> permission_broker_client_;
+ scoped_ptr<SystemClockClient> system_clock_client_;
+ scoped_ptr<PowerManagerClient> power_manager_client_;
+ scoped_ptr<SessionManagerClient> session_manager_client_;
+ scoped_ptr<SMSClient> sms_client_;
+ scoped_ptr<UpdateEngineClient> update_engine_client_;
+
+ DISALLOW_COPY_AND_ASSIGN(DBusClientBundle);
+};
+
+} // namespace chromeos
+
+#endif // CHROMEOS_DBUS_DBUS_CLIENT_BUNDLE_H_
« no previous file with comments | « chromeos/dbus/bluetooth_profile_service_provider.cc ('k') | chromeos/dbus/dbus_client_bundle.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698