summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/odebug.cpp12
-rw-r--r--libopie2/opiecore/odebug.h9
2 files changed, 14 insertions, 7 deletions
diff --git a/libopie2/opiecore/odebug.cpp b/libopie2/opiecore/odebug.cpp
index 3bffdd0..d8dfe26 100644
--- a/libopie2/opiecore/odebug.cpp
+++ b/libopie2/opiecore/odebug.cpp
@@ -124,59 +124,59 @@ void DebugBackend::debug(unsigned short level, unsigned int, const QString& data
124 int priority = 0; 124 int priority = 0;
125 QString caption; 125 QString caption;
126 QString lev; 126 QString lev;
127 switch( level ) 127 switch( level )
128 { 128 {
129 case ODEBUG_INFO: lev = "(Info)"; caption = "Info"; priority = LOG_INFO; break; 129 case ODEBUG_INFO: lev = "(Info)"; caption = "Info"; priority = LOG_INFO; break;
130 case ODEBUG_WARN: lev = "(Warn)"; caption = "Warning"; priority = LOG_WARNING; break; 130 case ODEBUG_WARN: lev = "(Warn)"; caption = "Warning"; priority = LOG_WARNING; break;
131 case ODEBUG_FATAL: lev = "(Fatal)"; caption = "Fatal Error"; priority = LOG_CRIT; break; 131 case ODEBUG_FATAL: lev = "(Fatal)"; caption = "Fatal Error"; priority = LOG_CRIT; break;
132 default: qDebug( "oDebugBackend: Warning: Unknown debug level! - defaulting to ODEBUG_ERROR." ); 132 default: qDebug( "oDebugBackend: Warning: Unknown debug level! - defaulting to ODEBUG_ERROR." );
133 case ODEBUG_ERROR: lev = "(Error)"; caption = "Error"; priority = LOG_ERR; break; 133 case ODEBUG_ERROR: lev = "(Error)"; caption = "Error"; priority = LOG_ERR; break;
134 } 134 }
135 135
136 if (!oApp && (m_outp == 1)) { 136 if (!oApp && (m_outp == 1)) {
137 qDebug( "oDebugBackend: Warning: no oapplication object - can't use MsgBox" ); 137 qDebug( "oDebugBackend: Warning: no oapplication object - can't use MsgBox" );
138 m_outp = 2; // need an application object to use MsgBox 138 m_outp = 2; // need an application object to use MsgBox
139 } 139 }
140 140
141 // gcc 2.9x is dumb and sucks... can you hear it? 141 // gcc 2.9x is dumb and sucks... can you hear it?
142 //QString areaName = (oApp) ? oApp->appName() : "<unknown>"; 142 //QString areaName = (oApp) ? oApp->appName() : "<unknown>";
143 QString areaName; 143 QString areaName;
144 if ( oApp ) areaName = oApp->appName(); 144 if ( oApp ) areaName = oApp->appName();
145 else areaName = "<unknown>"; 145 else areaName = "<unknown>";
146 146
147 switch( m_outp ) { 147 switch( m_outp ) {
148 case -1: // ignore 148 case ODEBUG_IGNORE:
149 return; 149 return;
150 case 0: // File 150 case ODEBUG_FILE:
151 return debugFile( areaName, data ); 151 return debugFile( areaName, data );
152 case 1: // Message Box 152 case ODEBUG_MSGBOX:
153 return debugMsgB( areaName, data ); 153 return debugMsgB( areaName, data );
154 case 2: 154 case ODEBUG_STDERR:
155 return debugShel( areaName,data ); 155 return debugShel( areaName,data );
156 case 3: // syslog 156 case ODEBUG_SYSLOG:
157 return debugSysl( priority, data ); 157 return debugSysl( priority, data );
158 case 4: // socket 158 case ODEBUG_SOCKET:
159 return debugSock( areaName, data ); 159 return debugSock( areaName, data );
160 } 160 }
161} 161}
162 162
163inline void DebugBackend::debugFile(const QString& area, const QString& data) { 163inline void DebugBackend::debugFile(const QString& area, const QString& data) {
164 /* something went wrong with the file don't bother.. */ 164 /* something went wrong with the file don't bother.. */
165 if ( m_opened && !m_file ) 165 if ( m_opened && !m_file )
166 return; 166 return;
167 else if ( !m_opened ) { 167 else if ( !m_opened ) {
168 m_opened = true; 168 m_opened = true;
169 m_file = new QFile( OGlobalSettings::debugOutput() ); 169 m_file = new QFile( OGlobalSettings::debugOutput() );
170 if (!m_file->open( IO_WriteOnly | IO_Append ) ) { 170 if (!m_file->open( IO_WriteOnly | IO_Append ) ) {
171 delete m_file; m_file = 0; 171 delete m_file; m_file = 0;
172 qDebug( "ODebug: can't write to file '%s' (%s)", (const char*)OGlobalSettings::debugOutput(), 172 qDebug( "ODebug: can't write to file '%s' (%s)", (const char*)OGlobalSettings::debugOutput(),
173 strerror(errno) ); 173 strerror(errno) );
174 return; 174 return;
175 } 175 }
176 } 176 }
177 177
178 /* go to end of file */ 178 /* go to end of file */
179 m_file->at( m_file->size() ); 179 m_file->at( m_file->size() );
180 QCString li = line( area, data ); 180 QCString li = line( area, data );
181 m_file->writeBlock(li.data(), li.length() ); 181 m_file->writeBlock(li.data(), li.length() );
182} 182}
diff --git a/libopie2/opiecore/odebug.h b/libopie2/opiecore/odebug.h
index 3851a41..21a6c26 100644
--- a/libopie2/opiecore/odebug.h
+++ b/libopie2/opiecore/odebug.h
@@ -46,48 +46,55 @@ class QRegion;
46class QStringList; 46class QStringList;
47class QColor; 47class QColor;
48class QBrush; 48class QBrush;
49 49
50namespace Opie { 50namespace Opie {
51namespace Core { 51namespace Core {
52 52
53class odbgstream; 53class odbgstream;
54class ondbgstream; 54class ondbgstream;
55 55
56#ifdef __GNUC__ 56#ifdef __GNUC__
57#define o_funcinfo "[" << __PRETTY_FUNCTION__ << "] " 57#define o_funcinfo "[" << __PRETTY_FUNCTION__ << "] "
58#else 58#else
59#define o_funcinfo "[" << __FILE__ << ":" << __LINE__ << "] " 59#define o_funcinfo "[" << __FILE__ << ":" << __LINE__ << "] "
60#endif 60#endif
61 61
62#define o_lineinfo "[" << __FILE__ << ":" << __LINE__ << "] " 62#define o_lineinfo "[" << __FILE__ << ":" << __LINE__ << "] "
63 63
64#define owarn Opie::Core::odWarning() 64#define owarn Opie::Core::odWarning()
65#define oerr Opie::Core::odError() 65#define oerr Opie::Core::odError()
66#define odebug Opie::Core::odDebug() 66#define odebug Opie::Core::odDebug()
67#define ofatal Opie::Core::odFatal() 67#define ofatal Opie::Core::odFatal()
68#define oendl "\n" 68#define oendl "\n"
69 69
70const int ODEBUG_IGNORE = -1;
71const int ODEBUG_FILE = 0;
72const int ODEBUG_MSGBOX = 1;
73const int ODEBUG_STDERR = 2;
74const int ODEBUG_SYSLOG = 3;
75const int ODEBUG_SOCKET = 4;
76
70class odbgstreamprivate; 77class odbgstreamprivate;
71/** 78/**
72 * odbgstream is a text stream that allows you to print debug messages. 79 * odbgstream is a text stream that allows you to print debug messages.
73 * Using the overloaded "<<" operator you can send messages. Usually 80 * Using the overloaded "<<" operator you can send messages. Usually
74 * you do not create the odbgstream yourself, but use @ref odDebug() (odebug) 81 * you do not create the odbgstream yourself, but use @ref odDebug() (odebug)
75 * @ref odWarning() (owarn), @ref odError() (oerr) or @ref odFatal (ofatal) to obtain one. 82 * @ref odWarning() (owarn), @ref odError() (oerr) or @ref odFatal (ofatal) to obtain one.
76 * 83 *
77 * Example: 84 * Example:
78 * <pre> 85 * <pre>
79 * int i = 5; 86 * int i = 5;
80 * odebug << "The value of i is " << i << oendl; 87 * odebug << "The value of i is " << i << oendl;
81 * </pre> 88 * </pre>
82 * @see odbgstream 89 * @see odbgstream
83 */ 90 */
84 91
85/*====================================================================================== 92/*======================================================================================
86 * odbgstream 93 * odbgstream
87 *======================================================================================*/ 94 *======================================================================================*/
88 95
89class odbgstream 96class odbgstream
90{ 97{
91 public: 98 public:
92 /** 99 /**
93 * @internal 100 * @internal
@@ -376,49 +383,49 @@ class ondbgstream {
376 * @return this stream 383 * @return this stream
377 */ 384 */
378 ondbgstream& operator<<(unsigned long) { return *this; } 385 ondbgstream& operator<<(unsigned long) { return *this; }
379 /** 386 /**
380 * Does nothing. 387 * Does nothing.
381 * @return this stream 388 * @return this stream
382 */ 389 */
383 ondbgstream& operator << (QWidget*) { return *this; } 390 ondbgstream& operator << (QWidget*) { return *this; }
384 /** 391 /**
385 * Does nothing. 392 * Does nothing.
386 * @return this stream 393 * @return this stream
387 */ 394 */
388 ondbgstream &form(const char *, ...) { return *this; } 395 ondbgstream &form(const char *, ...) { return *this; }
389 396
390 ondbgstream& operator<<( const QDateTime& ) { return *this; } 397 ondbgstream& operator<<( const QDateTime& ) { return *this; }
391 ondbgstream& operator<<( const QDate& ) { return *this; } 398 ondbgstream& operator<<( const QDate& ) { return *this; }
392 ondbgstream& operator<<( const QTime& ) { return *this; } 399 ondbgstream& operator<<( const QTime& ) { return *this; }
393 ondbgstream& operator<<( const QPoint & ) { return *this; } 400 ondbgstream& operator<<( const QPoint & ) { return *this; }
394 ondbgstream& operator<<( const QSize & ) { return *this; } 401 ondbgstream& operator<<( const QSize & ) { return *this; }
395 ondbgstream& operator<<( const QRect & ) { return *this; } 402 ondbgstream& operator<<( const QRect & ) { return *this; }
396 ondbgstream& operator<<( const QRegion & ) { return *this; } 403 ondbgstream& operator<<( const QRegion & ) { return *this; }
397 ondbgstream& operator<<( const QStringList & ) { return *this; } 404 ondbgstream& operator<<( const QStringList & ) { return *this; }
398 ondbgstream& operator<<( const QColor & ) { return *this; } 405 ondbgstream& operator<<( const QColor & ) { return *this; }
399 ondbgstream& operator<<( const QBrush & ) { return *this; } 406 ondbgstream& operator<<( const QBrush & ) { return *this; }
400 407
401private: 408private:
402 class Private; 409 class Private;
403 Private *d; 410 Private *d;
404}; 411};
405 412
406/*====================================================================================== 413/*======================================================================================
407 * related functions 414 * related functions
408 *======================================================================================*/ 415 *======================================================================================*/
409 416
410/** 417/**
411 * Does nothing. 418 * Does nothing.
412 * @param a stream 419 * @param a stream
413 * @return the given @p s 420 * @return the given @p s
414 */ 421 */
415inline ondbgstream& endl( ondbgstream & s) { return s; } 422inline ondbgstream& endl( ondbgstream & s) { return s; }
416/** 423/**
417 * Does nothing. 424 * Does nothing.
418 * @param a stream 425 * @param a stream
419 * @return the given @p s 426 * @return the given @p s
420 */ 427 */
421inline ondbgstream& flush( ondbgstream & s) { return s; } 428inline ondbgstream& flush( ondbgstream & s) { return s; }
422inline ondbgstream& perror( ondbgstream & s) { return s; } 429inline ondbgstream& perror( ondbgstream & s) { return s; }
423 430
424/** 431/**