Roll WebKit 141933:141963
[chromium-blink-merge.git] / dbus / scoped_dbus_error.h
blobc15c44397b91c59e21d871228b048f64c241ac55
1 // Copyright (c) 2012 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 DBUS_SCOPED_DBUS_ERROR_H_
6 #define DBUS_SCOPED_DBUS_ERROR_H_
8 #include <dbus/dbus.h>
10 namespace dbus {
12 // Utility class to ensure that DBusError is freed.
13 class ScopedDBusError {
14 public:
15 ScopedDBusError() {
16 dbus_error_init(&error_);
19 ~ScopedDBusError() {
20 dbus_error_free(&error_);
23 DBusError* get() { return &error_; }
24 bool is_set() const { return dbus_error_is_set(&error_); }
25 const char* name() { return error_.name; }
26 const char* message() { return error_.message; }
28 private:
29 DBusError error_;
32 } // namespace dbus
34 #endif // DBUS_SCOPED_DBUS_ERROR_H_