summaryrefslogtreecommitdiffstats
path: root/src/tqdbuserror.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2019-04-27 00:21:43 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2019-04-27 00:21:43 +0900
commitf9c9e15267bd0319a8190ba146d7be95c37dac2e (patch)
tree1180022eddef0ffc8f44b030e721b6efef4f8b2a /src/tqdbuserror.cpp
parent7d3c2ed4e8cdf9292059a4fc8f3678ca9d1d7c5c (diff)
downloaddbus-1-tqt-f9c9e15267bd0319a8190ba146d7be95c37dac2e.tar.gz
dbus-1-tqt-f9c9e15267bd0319a8190ba146d7be95c37dac2e.zip
Moved source files to "src" folder.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/tqdbuserror.cpp')
-rw-r--r--src/tqdbuserror.cpp216
1 files changed, 216 insertions, 0 deletions
diff --git a/src/tqdbuserror.cpp b/src/tqdbuserror.cpp
new file mode 100644
index 0000000..d0b1eb9
--- /dev/null
+++ b/src/tqdbuserror.cpp
@@ -0,0 +1,216 @@
+/* qdbuserror.cpp TQT_DBusError object
+ *
+ * Copyright (C) 2005 Harald Fernengel <harry@kdevelop.org>
+ * Copyright (C) 2005-2007 Kevin Krammer <kevin.krammer@gmx.at>
+ *
+ * Licensed under the Academic Free License version 2.1
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ *
+ */
+
+#include "tqdbuserror.h"
+
+#include <dbus/dbus.h>
+
+#include <tqmap.h>
+
+typedef TQMap<TQString, TQT_DBusError::ErrorType> ErrorNameMap;
+static ErrorNameMap errorTypesByName;
+
+static TQString qDBusErrorNameForType(TQT_DBusError::ErrorType type)
+{
+ switch (type)
+ {
+ case TQT_DBusError::InvalidError:
+ Q_ASSERT(false);
+ return TQString();
+
+ case TQT_DBusError::Failed:
+ return TQString::fromUtf8(DBUS_ERROR_FAILED);
+ case TQT_DBusError:: NoMemory:
+ return TQString::fromUtf8(DBUS_ERROR_NO_MEMORY);
+ case TQT_DBusError:: ServiceUnknown:
+ return TQString::fromUtf8(DBUS_ERROR_SERVICE_UNKNOWN);
+ case TQT_DBusError:: NameHasNoOwner:
+ return TQString::fromUtf8(DBUS_ERROR_NAME_HAS_NO_OWNER);
+ case TQT_DBusError:: NoReply:
+ return TQString::fromUtf8(DBUS_ERROR_NO_REPLY);
+ case TQT_DBusError:: IOError:
+ return TQString::fromUtf8(DBUS_ERROR_IO_ERROR);
+ case TQT_DBusError:: BadAddress:
+ return TQString::fromUtf8(DBUS_ERROR_BAD_ADDRESS);
+ case TQT_DBusError:: NotSupported:
+ return TQString::fromUtf8(DBUS_ERROR_NOT_SUPPORTED);
+ case TQT_DBusError:: LimitsExceeded:
+ return TQString::fromUtf8(DBUS_ERROR_LIMITS_EXCEEDED);
+ case TQT_DBusError:: AccessDenied:
+ return TQString::fromUtf8(DBUS_ERROR_ACCESS_DENIED);
+ case TQT_DBusError:: AuthFailed:
+ return TQString::fromUtf8(DBUS_ERROR_AUTH_FAILED);
+ case TQT_DBusError:: NoServer:
+ return TQString::fromUtf8(DBUS_ERROR_NO_SERVER);
+ case TQT_DBusError:: Timeout:
+ return TQString::fromUtf8(DBUS_ERROR_TIMEOUT);
+ case TQT_DBusError:: NoNetwork:
+ return TQString::fromUtf8(DBUS_ERROR_NO_NETWORK);
+ case TQT_DBusError:: Disconnected:
+ return TQString::fromUtf8(DBUS_ERROR_DISCONNECTED);
+ case TQT_DBusError:: InvalidArgs:
+ return TQString::fromUtf8(DBUS_ERROR_INVALID_ARGS);
+ case TQT_DBusError:: FileNotFound:
+ return TQString::fromUtf8(DBUS_ERROR_FILE_NOT_FOUND);
+ case TQT_DBusError:: FileExists:
+ return TQString::fromUtf8(DBUS_ERROR_FILE_EXISTS);
+ case TQT_DBusError:: UnknownMethod:
+ return TQString::fromUtf8(DBUS_ERROR_UNKNOWN_METHOD);
+ case TQT_DBusError:: TimedOut:
+ return TQString::fromUtf8(DBUS_ERROR_TIMED_OUT);
+ case TQT_DBusError:: InvalidSignature:
+ return TQString::fromUtf8(DBUS_ERROR_INVALID_SIGNATURE);
+
+ case TQT_DBusError::UserDefined:
+ Q_ASSERT(false);
+ return TQString();
+ }
+
+ Q_ASSERT(false);
+ return TQString();
+}
+
+static void qDBusErrorSetupNameMapping()
+{
+ for (int i = TQT_DBusError::InvalidError + 1; i < TQT_DBusError::UserDefined; ++i)
+ {
+ TQT_DBusError::ErrorType type = static_cast<TQT_DBusError::ErrorType>(i);
+ errorTypesByName[qDBusErrorNameForType(type)] = type;
+ }
+}
+
+static TQT_DBusError::ErrorType qDBusErrorTypeForName(const TQString& name)
+{
+ if (name.isEmpty()) return TQT_DBusError::InvalidError;
+
+ if (errorTypesByName.isEmpty())
+ qDBusErrorSetupNameMapping();
+
+ ErrorNameMap::const_iterator it = errorTypesByName.find(name);
+ if (it != errorTypesByName.end()) return it.data();
+
+ return TQT_DBusError::UserDefined;
+}
+
+TQT_DBusError::TQT_DBusError() : errorType(InvalidError), m_dbusErrorSet(false)
+{
+}
+
+TQT_DBusError::TQT_DBusError(const DBusError *error) : errorType(InvalidError), m_dbusErrorSet(false)
+{
+ if (!error || !dbus_error_is_set(error))
+ return;
+
+ nm = TQString::fromUtf8(error->name);
+ msg = TQString::fromUtf8(error->message);
+
+ errorType = qDBusErrorTypeForName(nm);
+}
+
+TQT_DBusError::TQT_DBusError(const TQString& error, const TQString& message)
+ : errorType(UserDefined), m_dbusErrorSet(false), nm(error), msg(message)
+{
+ errorType = qDBusErrorTypeForName(nm);
+}
+
+bool TQT_DBusError::isValid() const
+{
+ return errorType != InvalidError && !nm.isEmpty() && !msg.isEmpty();
+}
+
+TQT_DBusError::TQT_DBusError(ErrorType type, const TQString& message)
+ : errorType(type), m_dbusErrorSet(false), msg(message)
+{
+ nm = qDBusErrorNameForType(type);
+}
+
+TQT_DBusError TQT_DBusError::stdFailed(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::Failed, message);
+}
+
+TQT_DBusError TQT_DBusError::stdNoMemory(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::NoMemory, message);
+}
+
+TQT_DBusError TQT_DBusError::stdNoReply(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::NoReply, message);
+}
+
+TQT_DBusError TQT_DBusError::stdIOError(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::IOError, message);
+}
+
+TQT_DBusError TQT_DBusError::stdNotSupported(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::NotSupported, message);
+}
+
+TQT_DBusError TQT_DBusError::stdLimitsExceeded(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::LimitsExceeded, message);
+}
+
+TQT_DBusError TQT_DBusError::stdAccessDenied(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::AccessDenied, message);
+}
+
+TQT_DBusError TQT_DBusError::stdAuthFailed(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::AuthFailed, message);
+}
+
+TQT_DBusError TQT_DBusError::stdTimeout(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::Timeout, message);
+}
+
+TQT_DBusError TQT_DBusError::stdInvalidArgs(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::InvalidArgs, message);
+}
+
+TQT_DBusError TQT_DBusError::stdFileNotFound(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::FileNotFound, message);
+}
+
+TQT_DBusError TQT_DBusError::stdFileExists(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::FileExists, message);
+}
+
+TQT_DBusError TQT_DBusError::stdUnknownMethod(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::UnknownMethod, message);
+}
+
+TQT_DBusError TQT_DBusError::stdInvalidSignature(const TQString& message)
+{
+ return TQT_DBusError(TQT_DBusError::InvalidSignature, message);
+}