summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2016-11-10 12:58:26 +0100
committerMax Kellermann <max@musicpd.org>2016-11-10 12:58:26 +0100
commit22dcca9832e30c27630041bee867639e05ffd072 (patch)
tree7a03453cdc3881f5cfe09b878d6aa558d5ea5e67 /src
parentdb6c0d54cfc2eb9741b4e5c7634f41eecb2d4703 (diff)
util/Error: remove obsolete class
Diffstat (limited to 'src')
-rw-r--r--src/Instance.hxx1
-rw-r--r--src/Log.cxx4
-rw-r--r--src/PlaylistDatabase.hxx1
-rw-r--r--src/PlaylistFile.hxx1
-rw-r--r--src/SongLoader.hxx1
-rw-r--r--src/SongSave.hxx1
-rw-r--r--src/config/Param.hxx1
-rw-r--r--src/db/plugins/simple/DatabaseSave.hxx1
-rw-r--r--src/db/plugins/simple/DirectorySave.hxx1
-rw-r--r--src/db/plugins/upnp/Directory.hxx2
-rw-r--r--src/encoder/plugins/TwolameEncoderPlugin.cxx2
-rw-r--r--src/filter/FilterInternal.hxx1
-rw-r--r--src/filter/plugins/ConvertFilterPlugin.hxx1
-rw-r--r--src/fs/Charset.hxx2
-rw-r--r--src/fs/Config.hxx2
-rw-r--r--src/input/Init.hxx2
-rw-r--r--src/input/InputStream.hxx1
-rw-r--r--src/lib/expat/ExpatParser.hxx1
-rw-r--r--src/lib/icu/Collate.hxx1
-rw-r--r--src/lib/nfs/Lease.hxx2
-rw-r--r--src/net/AllocatedSocketAddress.hxx1
-rw-r--r--src/player/Control.hxx1
-rw-r--r--src/playlist/PlaylistQueue.hxx1
-rw-r--r--src/queue/Playlist.hxx1
-rw-r--r--src/sticker/StickerDatabase.hxx1
-rw-r--r--src/util/Error.cxx204
-rw-r--r--src/util/Error.hxx186
27 files changed, 3 insertions, 421 deletions
diff --git a/src/Instance.hxx b/src/Instance.hxx
index ed220b794..368e6afdd 100644
--- a/src/Instance.hxx
+++ b/src/Instance.hxx
@@ -37,7 +37,6 @@ class Storage;
class UpdateService;
#endif
-class Error;
class ClientList;
struct Partition;
class StateFile;
diff --git a/src/Log.cxx b/src/Log.cxx
index 330ac4bc0..232e7d49d 100644
--- a/src/Log.cxx
+++ b/src/Log.cxx
@@ -19,7 +19,7 @@
#include "config.h"
#include "LogV.hxx"
-#include "util/Error.hxx"
+#include "util/Domain.hxx"
#include <exception>
@@ -27,6 +27,8 @@
#include <string.h>
#include <errno.h>
+static constexpr Domain exception_domain("exception");
+
void
LogFormatV(const Domain &domain, LogLevel level, const char *fmt, va_list ap)
{
diff --git a/src/PlaylistDatabase.hxx b/src/PlaylistDatabase.hxx
index fd2be89b5..9b5aefb7e 100644
--- a/src/PlaylistDatabase.hxx
+++ b/src/PlaylistDatabase.hxx
@@ -27,7 +27,6 @@
class PlaylistVector;
class BufferedOutputStream;
class TextFile;
-class Error;
void
playlist_vector_save(BufferedOutputStream &os, const PlaylistVector &pv);
diff --git a/src/PlaylistFile.hxx b/src/PlaylistFile.hxx
index 6fa846849..a453f8118 100644
--- a/src/PlaylistFile.hxx
+++ b/src/PlaylistFile.hxx
@@ -26,7 +26,6 @@
class DetachedSong;
class SongLoader;
class PlaylistVector;
-class Error;
class AllocatedPath;
typedef std::vector<std::string> PlaylistFileContents;
diff --git a/src/SongLoader.hxx b/src/SongLoader.hxx
index 409af7b66..aa867af38 100644
--- a/src/SongLoader.hxx
+++ b/src/SongLoader.hxx
@@ -30,7 +30,6 @@ class Database;
class Storage;
class DetachedSong;
class Path;
-class Error;
struct LocatedUri;
/**
diff --git a/src/SongSave.hxx b/src/SongSave.hxx
index 5c29fbfd9..0b33cbea0 100644
--- a/src/SongSave.hxx
+++ b/src/SongSave.hxx
@@ -26,7 +26,6 @@ struct Song;
class DetachedSong;
class BufferedOutputStream;
class TextFile;
-class Error;
void
song_save(BufferedOutputStream &os, const Song &song);
diff --git a/src/config/Param.hxx b/src/config/Param.hxx
index 50530292e..4a4a5bc4e 100644
--- a/src/config/Param.hxx
+++ b/src/config/Param.hxx
@@ -25,7 +25,6 @@
#include <string>
-class Error;
class AllocatedPath;
struct ConfigParam {
diff --git a/src/db/plugins/simple/DatabaseSave.hxx b/src/db/plugins/simple/DatabaseSave.hxx
index dd5341d32..3102c38eb 100644
--- a/src/db/plugins/simple/DatabaseSave.hxx
+++ b/src/db/plugins/simple/DatabaseSave.hxx
@@ -23,7 +23,6 @@
struct Directory;
class BufferedOutputStream;
class TextFile;
-class Error;
void
db_save_internal(BufferedOutputStream &os, const Directory &root);
diff --git a/src/db/plugins/simple/DirectorySave.hxx b/src/db/plugins/simple/DirectorySave.hxx
index 3737710f9..11865d6c6 100644
--- a/src/db/plugins/simple/DirectorySave.hxx
+++ b/src/db/plugins/simple/DirectorySave.hxx
@@ -23,7 +23,6 @@
struct Directory;
class TextFile;
class BufferedOutputStream;
-class Error;
void
directory_save(BufferedOutputStream &os, const Directory &directory);
diff --git a/src/db/plugins/upnp/Directory.hxx b/src/db/plugins/upnp/Directory.hxx
index f4be54474..b2b2b7107 100644
--- a/src/db/plugins/upnp/Directory.hxx
+++ b/src/db/plugins/upnp/Directory.hxx
@@ -26,8 +26,6 @@
#include <string>
#include <vector>
-class Error;
-
/**
* Image of a MediaServer Directory Service container (directory),
* possibly containing items and subordinate containers.
diff --git a/src/encoder/plugins/TwolameEncoderPlugin.cxx b/src/encoder/plugins/TwolameEncoderPlugin.cxx
index c49501524..b4123bf5b 100644
--- a/src/encoder/plugins/TwolameEncoderPlugin.cxx
+++ b/src/encoder/plugins/TwolameEncoderPlugin.cxx
@@ -56,8 +56,6 @@ public:
audio_format(_audio_format), options(_options) {}
~TwolameEncoder() override;
- bool Configure(const ConfigBlock &block, Error &error);
-
/* virtual methods from class Encoder */
void End() override {
diff --git a/src/filter/FilterInternal.hxx b/src/filter/FilterInternal.hxx
index 6cf8c37cb..b99974a07 100644
--- a/src/filter/FilterInternal.hxx
+++ b/src/filter/FilterInternal.hxx
@@ -30,7 +30,6 @@
#include <stddef.h>
struct AudioFormat;
-class Error;
template<typename T> struct ConstBuffer;
class Filter {
diff --git a/src/filter/plugins/ConvertFilterPlugin.hxx b/src/filter/plugins/ConvertFilterPlugin.hxx
index 9d7890574..ef5d5dc71 100644
--- a/src/filter/plugins/ConvertFilterPlugin.hxx
+++ b/src/filter/plugins/ConvertFilterPlugin.hxx
@@ -21,7 +21,6 @@
#define MPD_CONVERT_FILTER_PLUGIN_HXX
class Filter;
-class Error;
struct AudioFormat;
Filter *
diff --git a/src/fs/Charset.hxx b/src/fs/Charset.hxx
index f0d6e15e6..7aeda8aaf 100644
--- a/src/fs/Charset.hxx
+++ b/src/fs/Charset.hxx
@@ -28,8 +28,6 @@
#define HAVE_FS_CHARSET
#endif
-class Error;
-
/**
* Gets file system character set name.
*/
diff --git a/src/fs/Config.hxx b/src/fs/Config.hxx
index 78cda056e..9e6c0e5eb 100644
--- a/src/fs/Config.hxx
+++ b/src/fs/Config.hxx
@@ -22,8 +22,6 @@
#include "check.h"
-class Error;
-
/**
* Performs global one-time initialization of this class.
*
diff --git a/src/input/Init.hxx b/src/input/Init.hxx
index 37d68d4b7..29744a318 100644
--- a/src/input/Init.hxx
+++ b/src/input/Init.hxx
@@ -20,8 +20,6 @@
#ifndef MPD_INPUT_INIT_HXX
#define MPD_INPUT_INIT_HXX
-class Error;
-
/**
* Initializes this library and all #InputStream implementations.
*/
diff --git a/src/input/InputStream.hxx b/src/input/InputStream.hxx
index f0330cb82..bbb3aeccf 100644
--- a/src/input/InputStream.hxx
+++ b/src/input/InputStream.hxx
@@ -31,7 +31,6 @@
#include <assert.h>
class Cond;
-class Error;
struct Tag;
class InputStream {
diff --git a/src/lib/expat/ExpatParser.hxx b/src/lib/expat/ExpatParser.hxx
index 7b5af23b5..1b12be767 100644
--- a/src/lib/expat/ExpatParser.hxx
+++ b/src/lib/expat/ExpatParser.hxx
@@ -28,7 +28,6 @@
#include <stdexcept>
class InputStream;
-class Error;
class ExpatError final : public std::runtime_error {
public:
diff --git a/src/lib/icu/Collate.hxx b/src/lib/icu/Collate.hxx
index 5bfe5ab05..d119d6fd9 100644
--- a/src/lib/icu/Collate.hxx
+++ b/src/lib/icu/Collate.hxx
@@ -23,7 +23,6 @@
#include "check.h"
#include "Compiler.h"
-class Error;
template<typename T> class AllocatedString;
/**
diff --git a/src/lib/nfs/Lease.hxx b/src/lib/nfs/Lease.hxx
index 37db7100c..21a8d615c 100644
--- a/src/lib/nfs/Lease.hxx
+++ b/src/lib/nfs/Lease.hxx
@@ -24,8 +24,6 @@
#include <exception>
-class Error;
-
class NfsLease {
public:
/**
diff --git a/src/net/AllocatedSocketAddress.hxx b/src/net/AllocatedSocketAddress.hxx
index db02488df..c865d17dd 100644
--- a/src/net/AllocatedSocketAddress.hxx
+++ b/src/net/AllocatedSocketAddress.hxx
@@ -39,7 +39,6 @@
#include <stdlib.h>
struct sockaddr;
-class Error;
class AllocatedSocketAddress {
public:
diff --git a/src/player/Control.hxx b/src/player/Control.hxx
index 4b56e88b6..4af87e964 100644
--- a/src/player/Control.hxx
+++ b/src/player/Control.hxx
@@ -31,7 +31,6 @@
#include <stdint.h>
-class Error;
class PlayerListener;
class MultipleOutputs;
class DetachedSong;
diff --git a/src/playlist/PlaylistQueue.hxx b/src/playlist/PlaylistQueue.hxx
index e120926bc..7e6cac519 100644
--- a/src/playlist/PlaylistQueue.hxx
+++ b/src/playlist/PlaylistQueue.hxx
@@ -24,7 +24,6 @@
#ifndef MPD_PLAYLIST_QUEUE_HXX
#define MPD_PLAYLIST_QUEUE_HXX
-class Error;
class SongLoader;
class SongEnumerator;
struct playlist;
diff --git a/src/queue/Playlist.hxx b/src/queue/Playlist.hxx
index a69f8b52e..c77e347b7 100644
--- a/src/queue/Playlist.hxx
+++ b/src/queue/Playlist.hxx
@@ -26,7 +26,6 @@ enum TagType : uint8_t;
struct PlayerControl;
class DetachedSong;
class Database;
-class Error;
class SongLoader;
class SongTime;
class SignedSongTime;
diff --git a/src/sticker/StickerDatabase.hxx b/src/sticker/StickerDatabase.hxx
index af7be8af7..4e07554fd 100644
--- a/src/sticker/StickerDatabase.hxx
+++ b/src/sticker/StickerDatabase.hxx
@@ -47,7 +47,6 @@
#include <string>
-class Error;
class Path;
struct Sticker;
diff --git a/src/util/Error.cxx b/src/util/Error.cxx
deleted file mode 100644
index 4fc067636..000000000
--- a/src/util/Error.cxx
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2013 Max Kellermann <max@duempel.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Error.hxx"
-#include "Domain.hxx"
-
-#include <system_error>
-
-#ifdef WIN32
-#include <windows.h>
-#endif
-
-#include <errno.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-
-const Domain exception_domain("exception");
-
-const Domain errno_domain("errno");
-
-#ifdef WIN32
-const Domain win32_domain("win32");
-#endif
-
-Error::~Error() {}
-
-void
-Error::Set(std::exception_ptr src)
-{
- try {
- /* classify the exception */
- std::rethrow_exception(src);
- } catch (const std::system_error &se) {
- if (se.code().category() == std::system_category()) {
-#ifdef WIN32
- Set(win32_domain, se.code().value(), se.what());
-#else
- Set(errno_domain, se.code().value(), se.what());
-#endif
- } else
- Set(exception_domain, se.what());
- } catch (const std::exception &e) {
- Set(exception_domain, e.what());
- } catch (...) {
- Set(exception_domain, "Unknown exception");
- }
-}
-
-void
-Error::Set(const Domain &_domain, int _code, const char *_message)
-{
- domain = &_domain;
- code = _code;
- message.assign(_message);
-}
-
-void
-Error::Format2(const Domain &_domain, int _code, const char *fmt, ...)
-{
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- Set(_domain, _code, buffer);
-}
-
-void
-Error::FormatPrefix(const char *fmt, ...)
-{
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- AddPrefix(buffer);
-}
-
-void
-Error::SetErrno(int e)
-{
- Set(errno_domain, e, strerror(e));
-}
-
-void
-Error::SetErrno()
-{
- SetErrno(errno);
-}
-
-void
-Error::SetErrno(int e, const char *prefix)
-{
- Format(errno_domain, e, "%s: %s", prefix, strerror(e));
-}
-
-void
-Error::SetErrno(const char *prefix)
-{
- SetErrno(errno, prefix);
-}
-
-void
-Error::FormatErrno(int e, const char *fmt, ...)
-{
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- SetErrno(e, buffer);
-}
-
-void
-Error::FormatErrno(const char *fmt, ...)
-{
- const int e = errno;
-
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- SetErrno(e, buffer);
-}
-
-#ifdef WIN32
-
-void
-Error::SetLastError(DWORD _code, const char *prefix)
-{
- char msg[256];
- FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- nullptr, _code, 0, msg, sizeof(msg), nullptr);
-
- Format(win32_domain, int(_code), "%s: %s", prefix, msg);
-}
-
-void
-Error::SetLastError(const char *prefix)
-{
- SetLastError(GetLastError(), prefix);
-}
-
-void
-Error::FormatLastError(DWORD _code, const char *fmt, ...)
-{
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- SetLastError(_code, buffer);
-}
-
-void
-Error::FormatLastError(const char *fmt, ...)
-{
- DWORD _code = GetLastError();
-
- char buffer[1024];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buffer, sizeof(buffer), fmt, ap);
- va_end(ap);
-
- SetLastError(_code, buffer);
-}
-
-#endif
diff --git a/src/util/Error.hxx b/src/util/Error.hxx
deleted file mode 100644
index dc6d793bc..000000000
--- a/src/util/Error.hxx
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2013 Max Kellermann <max@duempel.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ERROR_HXX
-#define ERROR_HXX
-
-#include "check.h"
-#include "Compiler.h"
-
-#include <string>
-#include <utility>
-#include <exception>
-
-#include <assert.h>
-
-class Domain;
-
-/** Domain for std::exception */
-extern const Domain exception_domain;
-
-extern const Domain errno_domain;
-
-#ifdef WIN32
-/* fuck WIN32! */
-#include <windows.h>
-#define IgnoreError MPDIgnoreError
-#undef GetMessage
-
-/**
- * Domain for GetLastError().
- */
-extern const Domain win32_domain;
-#endif
-
-/**
- * This class contains information about a runtime error.
- */
-class Error {
- const Domain *domain;
- int code;
- std::string message;
-
-public:
- Error():domain(nullptr), code(0) {}
-
- Error(const Domain &_domain, int _code, const char *_message)
- :domain(&_domain), code(_code), message(_message) {}
-
- Error(const Domain &_domain, const char *_message)
- :domain(&_domain), code(0), message(_message) {}
-
- ~Error();
-
- bool IsDefined() const {
- return domain != nullptr;
- }
-
- void Clear() {
- domain = nullptr;
- }
-
- const Domain &GetDomain() const {
- assert(IsDefined());
-
- return *domain;
- }
-
- bool IsDomain(const Domain &other) const {
- return domain == &other;
- }
-
- int GetCode() const {
- assert(IsDefined());
-
- return code;
- }
-
- const char *GetMessage() const {
- assert(IsDefined());
-
- return message.c_str();
- }
-
- void Set(const Error &other) {
- assert(!IsDefined());
- assert(other.IsDefined());
-
- domain = other.domain;
- code = other.code;
- message = other.message;
- }
-
- void Set(std::exception_ptr src);
-
- void Set(const Domain &_domain, int _code, const char *_message);
-
- void Set(const Domain &_domain, const char *_message) {
- Set(_domain, 0, _message);
- }
-
-private:
- void Format2(const Domain &_domain, int _code, const char *fmt, ...);
-
-public:
- template<typename... Args>
- void Format(const Domain &_domain, int _code,
- const char *fmt, Args&&... args) {
- Format2(_domain, _code, fmt, std::forward<Args>(args)...);
- }
-
- template<typename... Args>
- void Format(const Domain &_domain, const char *fmt, Args&&... args) {
- Format2(_domain, 0, fmt, std::forward<Args>(args)...);
- }
-
- void AddPrefix(const char *prefix) {
- message.insert(0, prefix);
- }
-
- gcc_printf(2,3)
- void FormatPrefix(const char *fmt, ...);
-
- void SetErrno(int e);
- void SetErrno();
- void SetErrno(int e, const char *prefix);
- void SetErrno(const char *prefix);
-
- gcc_printf(2,3)
- void FormatErrno(const char *prefix, ...);
-
- gcc_printf(3,4)
- void FormatErrno(int e, const char *prefix, ...);
-
-#ifdef WIN32
- void SetLastError(DWORD _code, const char *prefix);
- void SetLastError(const char *prefix);
-
- gcc_printf(3,4)
- void FormatLastError(DWORD code, const char *fmt, ...);
-
- gcc_printf(2,3)
- void FormatLastError(const char *fmt, ...);
-#endif
-};
-
-/**
- * Pass a temporary instance of this class to ignore errors.
- */
-class IgnoreError final {
- Error error;
-
-public:
- operator Error &() {
- assert(!error.IsDefined());
-
- return error;
- }
-};
-
-#endif