bluetooth: Shutdown BluetoothAdapter before DBus on ChromeOS.
[chromium-blink-merge.git] / chromeos / dbus / dbus_client.h
blobd52de3e6591d7af3fcf0a2c7c70ce2d9d1385478
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
3 // found in the LICENSE file.
5 #ifndef CHROMEOS_DBUS_DBUS_CLIENT_H_
6 #define CHROMEOS_DBUS_DBUS_CLIENT_H_
8 #include "base/basictypes.h"
10 namespace dbus {
11 class Bus;
12 } // namespace dbus
14 namespace chromeos {
16 // Interface for all DBus clients handled by DBusThreadManager. It restricts
17 // access to the Init function to DBusThreadManager only to prevent
18 // incorrect calls. Stub clients may lift that restriction however.
19 class DBusClient {
20 protected:
21 virtual ~DBusClient() {}
23 // This function is called by DBusThreadManager. Only in unit tests, which
24 // don't use DBusThreadManager, this function can be called through Stub
25 // implementations (they change Init's member visibility to public).
26 virtual void Init(dbus::Bus* bus) = 0;
28 private:
29 friend class DBusThreadManager;
31 DISALLOW_ASSIGN(DBusClient);
34 } // namespace chromeos
36 #endif // CHROMEOS_DBUS_DBUS_CLIENT_H_