diff options
author | Dan Vrátil <dvratil@redhat.com> | 2015-05-18 15:20:35 +0200 |
---|---|---|
committer | Dan Vrátil <dvratil@redhat.com> | 2015-05-18 15:20:35 +0200 |
commit | 5e580299e342bd77fc7479bbfd235f4446d7f05b (patch) | |
tree | 648aacd4de1f239d72be89ab9f2d4a97867d7920 /async/src/debug.cpp | |
parent | b43c0cf97615957e097daef29ff8febc1ec884c8 (diff) | |
download | sink-5e580299e342bd77fc7479bbfd235f4446d7f05b.tar.gz sink-5e580299e342bd77fc7479bbfd235f4446d7f05b.zip |
KAsync has moved to it's own kasync.git repository
Diffstat (limited to 'async/src/debug.cpp')
-rw-r--r-- | async/src/debug.cpp | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/async/src/debug.cpp b/async/src/debug.cpp deleted file mode 100644 index 64a3a3b..0000000 --- a/async/src/debug.cpp +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2015 Daniel Vrátil <dvratil@redhat.com> | ||
3 | * | ||
4 | * This library is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU Library General Public License as | ||
6 | * published by the Free Software Foundation; either version 2 of | ||
7 | * the License, or (at your option) any later version. | ||
8 | * | ||
9 | * This library is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU Library General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU Library General Public License | ||
15 | * along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include "debug.h" | ||
19 | #include "async.h" | ||
20 | |||
21 | #include <QStringBuilder> | ||
22 | |||
23 | #ifdef __GNUG__ | ||
24 | #include <cxxabi.h> | ||
25 | #include <memory> | ||
26 | #endif | ||
27 | |||
28 | namespace KAsync | ||
29 | { | ||
30 | |||
31 | Q_LOGGING_CATEGORY(Debug, "org.kde.async", QtWarningMsg); | ||
32 | Q_LOGGING_CATEGORY(Trace, "org.kde.async.trace", QtWarningMsg); | ||
33 | |||
34 | QString demangleName(const char *name) | ||
35 | { | ||
36 | #ifdef __GNUG__ | ||
37 | int status = 1; // uses -3 to 0 error codes | ||
38 | std::unique_ptr<char, void(*)(void*)> demangled(abi::__cxa_demangle(name, 0, 0, &status), std::free); | ||
39 | if (status == 0) { | ||
40 | return QString::fromLatin1(demangled.get()); | ||
41 | } | ||
42 | #endif | ||
43 | return QString::fromLatin1(name); | ||
44 | } | ||
45 | |||
46 | } | ||
47 | |||
48 | using namespace KAsync; | ||
49 | |||
50 | int Tracer::lastId = 0; | ||
51 | |||
52 | Tracer::Tracer(Private::Execution *execution) | ||
53 | : mId(lastId++) | ||
54 | , mExecution(execution) | ||
55 | { | ||
56 | msg(KAsync::Tracer::Start); | ||
57 | } | ||
58 | |||
59 | Tracer::~Tracer() | ||
60 | { | ||
61 | msg(KAsync::Tracer::End); | ||
62 | // FIXME: Does this work on parallel executions? | ||
63 | --lastId; | ||
64 | --mId; | ||
65 | } | ||
66 | |||
67 | void Tracer::msg(Tracer::MsgType msgType) | ||
68 | { | ||
69 | #ifndef QT_NO_DEBUG | ||
70 | qCDebug(Trace).nospace() << (QString().fill(QLatin1Char(' '), mId * 2) % | ||
71 | (msgType == KAsync::Tracer::Start ? QStringLiteral(" START ") : QStringLiteral(" END ")) % | ||
72 | QString::number(mId) % QStringLiteral(" ") % | ||
73 | mExecution->executor->mExecutorName); | ||
74 | #endif | ||
75 | } | ||