diff options
-rw-r--r-- | Swift/QtUI/QtSwift.cpp | 6 | ||||
-rw-r--r-- | Swiften/Base/Log.cpp | 13 | ||||
-rw-r--r-- | Swiften/Base/Log.h | 20 | ||||
-rw-r--r-- | Swiften/Base/SConscript | 1 |
4 files changed, 40 insertions, 0 deletions
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp index 77860d5..f33706a 100644 --- a/Swift/QtUI/QtSwift.cpp +++ b/Swift/QtUI/QtSwift.cpp @@ -23,6 +23,7 @@ #include <boost/bind.hpp> #include <QSplitter> +#include <Swiften/Base/Log.h> #include "SwifTools/Application/PlatformApplicationPathProvider.h" #include "Swiften/Avatars/AvatarFileStorage.h" #include "Swiften/Disco/CapsFileStorage.h" @@ -63,6 +64,7 @@ namespace Swift{ po::options_description QtSwift::getOptionsDescription() { po::options_description result("Options"); result.add_options() + ("debug", "Turn on debug logging") ("help", "produce help message") ("netbook-mode", "use netbook mode display") ("no-tabs", "don't manage chat windows in tabs") @@ -92,6 +94,10 @@ QtSwift::QtSwift(po::variables_map options) : autoUpdater_(NULL) { numberOfAccounts = 1; } + if (options.count("debug")) { + Swift::logging = true; + } + tabs_ = options.count("no-tabs") && !(splitter_ > 0) ? NULL : new QtChatTabs(); settings_ = new QtSettingsProvider(); applicationPathProvider_ = new PlatformApplicationPathProvider(SWIFT_APPLICATION_NAME); diff --git a/Swiften/Base/Log.cpp b/Swiften/Base/Log.cpp new file mode 100644 index 0000000..2041013 --- /dev/null +++ b/Swiften/Base/Log.cpp @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include "Swiften/Base/Log.h" + +namespace Swift { + +bool logging = false; + +} diff --git a/Swiften/Base/Log.h b/Swiften/Base/Log.h new file mode 100644 index 0000000..afcfe90 --- /dev/null +++ b/Swiften/Base/Log.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include "Swiften/Base/Platform.h" +namespace Swift { + extern bool logging; +} + +#ifndef SWIFTEN_PLATFORM_WINDOWS +#define SWIFT_LOG(severity) \ + if (!Swift::logging) {} else std::cerr << __FILE__ << ":" << __LINE__ << " " << __FUNCTION__ << ": " +#else +#define SWIFT_LOG(severity) \ + if (!Swift::logging) {} else std::cerr +#endif diff --git a/Swiften/Base/SConscript b/Swiften/Base/SConscript index fb58d34..9c7b8dc 100644 --- a/Swiften/Base/SConscript +++ b/Swiften/Base/SConscript @@ -3,6 +3,7 @@ Import("swiften_env") objects = swiften_env.StaticObject([ "ByteArray.cpp", "Error.cpp", + "Log.cpp", "Paths.cpp", "IDGenerator.cpp", "String.cpp", |