annotate d2/qtd/Debug.d @ 374:681af90e1d53

Removed debug writelns. Fixed build script.
author Max Samukha <maxter@spambox.com>
date Thu, 08 Jul 2010 22:21:56 +0300
parents a032df77b6ab
children bd7f485e3573
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
372
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
1 module qtd.Debug;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
2
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
3 version (QtdUnittest)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
4 debug = UseQtdDebug;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
5 else debug (QtdDebug)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
6 debug = UseQtdDebug;
374
681af90e1d53 Removed debug writelns. Fixed build script.
Max Samukha <maxter@spambox.com>
parents: 372
diff changeset
7
372
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
8 debug (UseQtdDebug)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
9 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
10 import
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
11 std.string,
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
12 qtd.QtdObject;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
13 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
14
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
15 string debugHandler(string handler, string[] args...)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
16 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
17 debug (UseQtdDebug)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
18 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
19 string result = "qtdDebug." ~ handler ~ "(";
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
20 foreach (i, arg; args)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
21 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
22 if (i)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
23 result ~= ", ";
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
24 result ~= arg;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
25 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
26 return result ~ ");";
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
27 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
28 else
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
29 return "";
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
30 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
31
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
32 debug (UseQtdDebug)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
33 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
34 debug (QtdVerbose)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
35 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
36 import
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
37 std.stdio,
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
38 std.string;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
39 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
40
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
41 final shared class QtdDebug
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
42 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
43 enum MessageType
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
44 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
45 info,
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
46 warning,
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
47 error
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
48 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
49
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
50 private
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
51 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
52 static immutable msgTypeStrs = ["Info", "Warning", "Error"];
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
53 int wrapperCount_;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
54 int nativeDeletedCount_;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
55
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
56 this() {}
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
57 }
374
681af90e1d53 Removed debug writelns. Fixed build script.
Max Samukha <maxter@spambox.com>
parents: 372
diff changeset
58
372
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
59 string wrapperToString(QtdObject wrapper)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
60 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
61 static assert (QtdObjectFlags.sizeof == ubyte.sizeof);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
62 auto flags = wrapper.qtdFlags;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
63 return format("%s (nativeId: %s, this ptr: %s, flags: %b)", this, wrapper.qtdNativeId
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
64 , cast(void*)this, *cast(ubyte*)&flags);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
65 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
66
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
67 void onWrapperConstructed(QtdObject wrapper)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
68 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
69 info("QtdObject constructed: " ~ wrapperToString(wrapper));
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
70 wrapperCount_++;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
71 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
72
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
73 void onWrapperDestruction(QtdObject wrapper)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
74 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
75 info("Entering QtdObject destructor: " ~ wrapperToString(wrapper));
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
76 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
77
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
78 void onWrapperDestroyed(QtdObject wrapper)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
79 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
80 info("Leaving QtdObject destructor: " ~ wrapperToString(wrapper));
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
81 wrapperCount_--;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
82 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
83
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
84 void onNativeDeleted(QtdObject wrapper)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
85 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
86 info("Native object deleted: " ~ wrapperToString(wrapper));
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
87 nativeDeletedCount_++;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
88 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
89
374
681af90e1d53 Removed debug writelns. Fixed build script.
Max Samukha <maxter@spambox.com>
parents: 372
diff changeset
90 void onObjectOwnershipChanged(QtdObject wrapper)
372
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
91 {
374
681af90e1d53 Removed debug writelns. Fixed build script.
Max Samukha <maxter@spambox.com>
parents: 372
diff changeset
92 info("Object ownership changed: " ~ wrapperToString(wrapper));
372
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
93 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
94
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
95 void onDeletingWrapperFromNative(void* dId)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
96 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
97 info(format("Wrapper deletion initiated from C++ (wrapper id: %s)", dId));
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
98 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
99
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
100 @property int wrapperCount()
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
101 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
102 return wrapperCount_;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
103 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
104
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
105 @property int nativeDeletedCount()
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
106 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
107 return nativeDeletedCount_;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
108 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
109
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
110 void reset()
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
111 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
112 wrapperCount_ = 0;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
113 nativeDeletedCount_ = 0;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
114 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
115
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
116 static void info(lazy string msg)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
117 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
118 message(msg, MessageType.info);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
119 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
120
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
121 static void warning(lazy string msg)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
122 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
123 message(msg, MessageType.warning);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
124 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
125
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
126 static void error(lazy string msg)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
127 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
128 message(msg, MessageType.error);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
129 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
130
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
131 static void message(lazy string msg, MessageType msgType = MessageType.info)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
132 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
133 // The check is deliberately placed here and not at the call sites.
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
134 // For simplicity, there are only two levels of debug verbosity:
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
135 // verbose and silent.
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
136 debug (QtdVerbose)
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
137 writefln("[QtD %s] %s", msgTypeStrs[msgType], msg);
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
138 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
139 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
140
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
141 private shared QtdDebug _qtdDebug;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
142 static QtdDebug qtdDebug()
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
143 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
144 return _qtdDebug;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
145 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
146
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
147 shared static this()
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
148 {
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
149 _qtdDebug = new QtdDebug;
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
150 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
151 }
a032df77b6ab Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
Max Samukha <maxter@spambox.com>
parents:
diff changeset
152