OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ | 5 #ifndef DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ |
6 #define DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ | 6 #define DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/macros.h" |
9 | 9 |
10 namespace dbus { | 10 namespace dbus { |
11 class Bus; | 11 class Bus; |
12 } // namespace dbus | 12 } // namespace dbus |
13 | 13 |
14 namespace bluez { | 14 namespace bluez { |
15 | 15 |
16 // Interface for all Bluez DBus clients handled by BluezDBusManager. It | 16 // Interface for all Bluez DBus clients handled by BluezDBusManager. It |
17 // restricts | 17 // restricts |
18 // access to the Init function to BluezDBusManager only to prevent | 18 // access to the Init function to BluezDBusManager only to prevent |
19 // incorrect calls. Stub clients may lift that restriction however. | 19 // incorrect calls. Stub clients may lift that restriction however. |
20 class BluezDBusClient { | 20 class BluezDBusClient { |
21 protected: | 21 protected: |
22 virtual ~BluezDBusClient() {} | 22 virtual ~BluezDBusClient() {} |
23 | 23 |
24 // This function is called by DBusThreadManager. Only in unit tests, which | 24 // This function is called by DBusThreadManager. Only in unit tests, which |
25 // don't use DBusThreadManager, this function can be called through Stub | 25 // don't use DBusThreadManager, this function can be called through Stub |
26 // implementations (they change Init's member visibility to public). | 26 // implementations (they change Init's member visibility to public). |
27 virtual void Init(dbus::Bus* bus) = 0; | 27 virtual void Init(dbus::Bus* bus) = 0; |
28 | 28 |
29 private: | 29 private: |
30 friend class BluezDBusManager; | 30 friend class BluezDBusManager; |
31 | 31 |
32 DISALLOW_ASSIGN(BluezDBusClient); | 32 DISALLOW_ASSIGN(BluezDBusClient); |
33 }; | 33 }; |
34 | 34 |
35 } // namespace bluez | 35 } // namespace bluez |
36 | 36 |
37 #endif // DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ | 37 #endif // DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_CLIENT_H_ |
OLD | NEW |