| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #include "dbus/dbus_export.h" |
| // Represents D-Bus related errors. |
| // This carries error info retrieved from libdbus. Some APIs under dbus/ |
| // may return empty Error instance to represent the API failed, but not |
| class CHROME_DBUS_EXPORT Error { |
| // Creates an invalid error. |
| // Creates an error instance with the given name and the message. |
| Error(std::string name, std::string message); |
| Error& operator=(Error&& other); |
| // Returns true if the error is valid one. |
| bool IsValid() const { return !name_.empty(); } |
| // Returns the name of the D-Bus error. |
| // Please see also "Error names" in |
| // https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names |
| // Specifically, valid name must have two components connected by '.', so this |
| // class uses empty name to represent invalid error instance. |
| const std::string& name() const { return name_; } |
| // Returns (human readable) error message attached to D-Bus error. |
| const std::string& message() const { return message_; } |