OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ | 5 #ifndef CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ |
6 #define CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ | 6 #define CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "chromeos/chromeos_export.h" | 11 #include "chromeos/chromeos_export.h" |
12 #include "chromeos/dbus/dbus_client_types.h" | |
13 | 12 |
14 namespace dbus { | 13 namespace dbus { |
15 class Bus; | 14 class Bus; |
16 } | 15 } |
17 | 16 |
18 namespace chromeos { | 17 namespace chromeos { |
19 | 18 |
20 class ArcObbMounterClient; | 19 class ArcObbMounterClient; |
21 class CrosDisksClient; | 20 class CrosDisksClient; |
22 class CryptohomeClient; | 21 class CryptohomeClient; |
23 class DebugDaemonClient; | 22 class DebugDaemonClient; |
24 class EasyUnlockClient; | 23 class EasyUnlockClient; |
25 class ImageBurnerClient; | 24 class ImageBurnerClient; |
26 class LorgnetteManagerClient; | 25 class LorgnetteManagerClient; |
27 | 26 |
28 // D-Bus clients used only in the browser process. | 27 // D-Bus clients used only in the browser process. |
29 // TODO(jamescook): Move this under //chrome/browser. http://crbug.com/647367 | 28 // TODO(jamescook): Move this under //chrome/browser. http://crbug.com/647367 |
30 class CHROMEOS_EXPORT DBusClientsBrowser { | 29 class CHROMEOS_EXPORT DBusClientsBrowser { |
31 public: | 30 public: |
32 // Creates real implementations for |real_clients| and fakes for all others. | 31 // Creates real implementations if |use_real_clients| is true and fakes |
33 // Fakes are used when running on Linux desktop and in tests. | 32 // otherwise. Fakes are used when running on Linux desktop and in tests. |
34 explicit DBusClientsBrowser(DBusClientTypeMask real_clients); | 33 explicit DBusClientsBrowser(bool use_real_clients); |
35 ~DBusClientsBrowser(); | 34 ~DBusClientsBrowser(); |
36 | 35 |
37 void Initialize(dbus::Bus* system_bus); | 36 void Initialize(dbus::Bus* system_bus); |
38 | 37 |
39 private: | 38 private: |
40 friend class DBusThreadManager; | 39 friend class DBusThreadManager; |
41 friend class DBusThreadManagerSetter; | 40 friend class DBusThreadManagerSetter; |
42 | 41 |
43 std::unique_ptr<ArcObbMounterClient> arc_obb_mounter_client_; | 42 std::unique_ptr<ArcObbMounterClient> arc_obb_mounter_client_; |
44 std::unique_ptr<CrosDisksClient> cros_disks_client_; | 43 std::unique_ptr<CrosDisksClient> cros_disks_client_; |
45 std::unique_ptr<DebugDaemonClient> debug_daemon_client_; | 44 std::unique_ptr<DebugDaemonClient> debug_daemon_client_; |
46 std::unique_ptr<EasyUnlockClient> easy_unlock_client_; | 45 std::unique_ptr<EasyUnlockClient> easy_unlock_client_; |
47 std::unique_ptr<ImageBurnerClient> image_burner_client_; | 46 std::unique_ptr<ImageBurnerClient> image_burner_client_; |
48 std::unique_ptr<LorgnetteManagerClient> lorgnette_manager_client_; | 47 std::unique_ptr<LorgnetteManagerClient> lorgnette_manager_client_; |
49 | 48 |
50 DISALLOW_COPY_AND_ASSIGN(DBusClientsBrowser); | 49 DISALLOW_COPY_AND_ASSIGN(DBusClientsBrowser); |
51 }; | 50 }; |
52 | 51 |
53 } // namespace chromeos | 52 } // namespace chromeos |
54 | 53 |
55 #endif // CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ | 54 #endif // CHROMEOS_DBUS_DBUS_CLIENTS_BROWSER_H_ |
OLD | NEW |