aboutsummaryrefslogtreecommitdiff
path: root/common/debug.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/debug.cpp')
-rw-r--r--common/debug.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/common/debug.cpp b/common/debug.cpp
index ba5479c34d..182b28afdf 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -17,6 +17,7 @@
* 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 "common/debug.h"
@@ -45,6 +46,11 @@ struct DebugLevelComperator {
} // end of anonymous namespace
bool DebugManager::addDebugChannel(uint32 channel, const String &name, const String &description) {
+ if (name.equalsIgnoreCase("all")) {
+ warning("Debug channel 'all' is reserved for internal use");
+ return false;
+ }
+
if (gDebugChannels.contains(name))
warning("Duplicate declaration of engine debug channel '%s'", name.c_str());
@@ -84,7 +90,6 @@ bool DebugManager::disableDebugChannel(const String &name) {
}
}
-
DebugManager::DebugChannelList DebugManager::listDebugChannels() {
DebugChannelList tmp;
for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
@@ -94,6 +99,16 @@ DebugManager::DebugChannelList DebugManager::listDebugChannels() {
return tmp;
}
+void DebugManager::enableAllDebugChannels() {
+ for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
+ enableDebugChannel(i->_value.name);
+}
+
+void DebugManager::disableAllDebugChannels() {
+ for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
+ disableDebugChannel(i->_value.name);
+}
+
bool DebugManager::isDebugChannelEnabled(uint32 channel) {
// Debug level 11 turns on all special debug level messages
if (gDebugLevel == 11)