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"
16 // Interface for all DBus clients handled by DBusThreadManager. It restricts
17 // access to the Init function to DBusThreadManagerImpl only to prevent
18 // incorrect calls. Stub clients may lift that restriction however.
21 friend class DBusThreadManager
;
23 virtual ~DBusClient() {}
25 // This function is called by DBusThreadManager. Only in unit tests, which
26 // don't use DBusThreadManager, this function can be called through Stub
27 // implementations (they change Init's member visibility to public).
28 virtual void Init(dbus::Bus
* bus
) = 0;
31 DISALLOW_ASSIGN(DBusClient
);
34 } // namespace chromeos
36 #endif // CHROMEOS_DBUS_DBUS_CLIENT_H_