From 484d98ded2038f4dd262d546b4e0fe460d907bd4 Mon Sep 17 00:00:00 2001 From: Szymon Tomasz Stefanek Date: Wed, 14 Jul 2010 13:31:37 +0000 Subject: Rewrite parts of the regchan module in order to avoid the heavy usage of pointers. Add some new nice debug macros and tools. git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4669 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/kvilib/ext/kvi_debugcontext.cpp | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/kvilib/ext/kvi_debugcontext.cpp (limited to 'src/kvilib/ext/kvi_debugcontext.cpp') diff --git a/src/kvilib/ext/kvi_debugcontext.cpp b/src/kvilib/ext/kvi_debugcontext.cpp new file mode 100644 index 000000000..160057f2b --- /dev/null +++ b/src/kvilib/ext/kvi_debugcontext.cpp @@ -0,0 +1,70 @@ +//============================================================================= +// +// File : kvi_debugcontext.cpp +// Creation date : Tue 13 Jul 2010 23:27:23 +// Project : KVIrc Irc client +// Author : Szymon Stefanek +// +//============================================================================= + +#include "kvi_debugcontext.h" + +#include "kvi_stdarg.h" +#include "kvi_string.h" +#include "kvi_debug.h" + + +static KviStr g_szIndentPrefix; + +KviDebugContext::KviDebugContext(const char * szContext,...) +{ + kvi_va_list list; + kvi_va_start(list,szContext); + + m_szContext.vsprintf(szContext,list); + + kvi_va_end(list); + + static KviStr szEnterMark = ">> %s"; + + KviStr szPrefix = g_szIndentPrefix; + szPrefix.append(szEnterMark); + + qDebug(szPrefix.ptr(),m_szContext.ptr()); + + g_szIndentPrefix.append(" "); +} + + +KviDebugContext::~KviDebugContext() +{ + KVI_ASSERT(g_szIndentPrefix.len() >= 2); + + g_szIndentPrefix.cutRight(2); + + static KviStr szExitMark = "<< %s"; + + KviStr szPrefix = g_szIndentPrefix; + szPrefix.append(szExitMark); + + qDebug(szPrefix.ptr(),m_szContext.ptr()); +} + +void KviDebugContext::trace(const char * szFmt,...) +{ + kvi_va_list list; + kvi_va_start(list,szFmt); + + KviStr szOut; + szOut.vsprintf(szFmt,list); + + kvi_va_end(list); + + static KviStr szEnterMark = "-- %s"; + + KviStr szPrefix = g_szIndentPrefix; + szPrefix.append(szEnterMark); + + qDebug(szPrefix.ptr(),szOut.ptr()); +} + -- cgit v1.3.1-10-gc9f91