You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
// Copyright 2016 The Chromium OS 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 LIBBRILLO_BRILLO_DBUS_DBUS_CONNECTION_H_
|
|
#define LIBBRILLO_BRILLO_DBUS_DBUS_CONNECTION_H_
|
|
|
|
#include <base/memory/ref_counted.h>
|
|
#include <base/time/time.h>
|
|
#include <dbus/bus.h>
|
|
|
|
#include <brillo/brillo_export.h>
|
|
|
|
namespace brillo {
|
|
|
|
// DBusConnection adds D-Bus support to Daemon.
|
|
class BRILLO_EXPORT DBusConnection final {
|
|
public:
|
|
DBusConnection();
|
|
~DBusConnection();
|
|
|
|
// Instantiates dbus::Bus and establishes a D-Bus connection. Returns a
|
|
// reference to the connected bus, or an empty pointer in case of error.
|
|
scoped_refptr<::dbus::Bus> Connect();
|
|
|
|
// Instantiates dbus::Bus and tries to establish a D-Bus connection for up to
|
|
// |timeout|. If the connection can't be established after the timeout, fails
|
|
// returning an empty pointer.
|
|
scoped_refptr<::dbus::Bus> ConnectWithTimeout(base::TimeDelta timeout);
|
|
|
|
private:
|
|
scoped_refptr<::dbus::Bus> bus_;
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(DBusConnection);
|
|
};
|
|
|
|
} // namespace brillo
|
|
|
|
#endif // LIBBRILLO_BRILLO_DBUS_DBUS_CONNECTION_H_
|