summaryrefslogtreecommitdiffabout
path: root/microkde/kdebug.h
Side-by-side diff
Diffstat (limited to 'microkde/kdebug.h') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdebug.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/microkde/kdebug.h b/microkde/kdebug.h
new file mode 100644
index 0000000..bb9cfe3
--- a/dev/null
+++ b/microkde/kdebug.h
@@ -0,0 +1,92 @@
+#ifndef MINIKDE_KDEBUG_H
+#define MINIKDE_KDEBUG_H
+
+#include <stdio.h>
+
+#include <qstring.h>
+
+
+
+class kdbgstream;
+typedef kdbgstream & (*KDBGFUNC)(kdbgstream &); // manipulator function
+
+class kdbgstream {
+ public:
+ kdbgstream(unsigned int _area, unsigned int _level, bool _print = true) :
+ area(_area), level(_level), print( _print ) { print = false; }
+ /* kdbgstream(const char * initialString, unsigned int _area, unsigned int _level, bool _print = false) :
+ output(QString::fromLatin1(initialString)), area(_area), level(_level), print(_print) { print = false; }*/
+ ~kdbgstream()
+ {
+ // if (!output.isEmpty()) {
+ // fprintf(stderr,"ASSERT: debug output not ended with \\n\n");
+ //*this << "\n";
+ //}
+ }
+ kdbgstream &operator<<(bool) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(short) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(unsigned short) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(char) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(unsigned char) {
+
+ return *this;
+ }
+
+ kdbgstream &operator<<(int) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(unsigned int) {
+
+ return *this;
+ }
+ kdbgstream &operator<<(long) {
+ return *this;
+ }
+ kdbgstream &operator<<(unsigned long) {
+ return *this;
+ }
+ kdbgstream &operator<<(const QString&) {
+ return *this;
+ }
+ kdbgstream &operator<<(const char*) {
+ return *this;
+ }
+ kdbgstream &operator<<(const QCString&) {
+ return *this;
+ }
+ kdbgstream& operator<<(KDBGFUNC f) {
+ return (*f)(*this);
+ }
+ kdbgstream& operator<<(double) {
+ if (!print) return *this;
+ return *this;
+ }
+ void flush() {
+ return;
+ }
+ private:
+ QString output;
+ unsigned int area, level;
+ bool print;
+};
+
+inline kdbgstream &endl( kdbgstream &s) { s << "\n"; return s; }
+
+inline kdbgstream kdDebug(int area = 0) { return kdbgstream(area, 0); }
+inline kdbgstream kdWarning(int area = 0) { return kdbgstream(area, 0); }
+inline kdbgstream kdError(int area = 0) { return kdbgstream(area, 0); }
+
+#endif