diff options
author | Max Kellermann <max@duempel.org> | 2013-08-10 18:02:44 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-09-04 18:14:22 +0200 |
commit | 29030b54c98b0aee65fbc10ebf7ba36bed98c02c (patch) | |
tree | 79766830b55ebca38ddbce84d8d548227eedb69e /src/util/Domain.hxx | |
parent | c9fcc7f14860777458153eb2d13c773ccfa1daa2 (diff) | |
download | mpd-29030b54c98b0aee65fbc10ebf7ba36bed98c02c.tar.gz mpd-29030b54c98b0aee65fbc10ebf7ba36bed98c02c.tar.xz mpd-29030b54c98b0aee65fbc10ebf7ba36bed98c02c.zip |
util/Error: new error passing library
Replaces GLib's GError.
Diffstat (limited to '')
-rw-r--r-- | src/util/Domain.hxx (renamed from src/io_error.h) | 49 |
1 files changed, 22 insertions, 27 deletions
diff --git a/src/io_error.h b/src/util/Domain.hxx index 1442a08aa..bbdbf8371 100644 --- a/src/io_error.h +++ b/src/util/Domain.hxx @@ -17,35 +17,30 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MPD_IO_ERROR_H -#define MPD_IO_ERROR_H +#ifndef MPD_DOMAIN_HXX +#define MPD_DOMAIN_HXX -#include <glib.h> +class Domain { + const char *const name; -#include <errno.h> +public: + constexpr explicit Domain(const char *_name) + :name(_name) {} -/** - * A GQuark for GError for I/O errors. The code is an errno value. - */ -gcc_const -static inline GQuark -errno_quark(void) -{ - return g_quark_from_static_string("errno"); -} - -static inline void -set_error_errno(GError **error_r) -{ - g_set_error_literal(error_r, errno_quark(), errno, - g_strerror(errno)); -} - -static inline GError * -new_error_errno(void) -{ - return g_error_new_literal(errno_quark(), errno, - g_strerror(errno)); -} + Domain(const Domain &) = delete; + Domain &operator=(const Domain &) = delete; + + constexpr const char *GetName() const { + return name; + } + + bool operator==(const Domain &other) const { + return this == &other; + } + + bool operator!=(const Domain &other) const { + return !(*this == other); + } +}; #endif |