comparison qt/d1/qt/Signal.d @ 246:7e589f525254

Removed debug toString
author maxter
date Sun, 26 Jul 2009 16:15:42 +0000
parents 6faf3d3cb95e
children 073b9153ed8a
comparison
equal deleted inserted replaced
245:2d061b52e077 246:7e589f525254
16 import tango.core.Traits; 16 import tango.core.Traits;
17 import tango.core.Thread; 17 import tango.core.Thread;
18 import tango.stdc.stdlib : crealloc = realloc, cfree = free; 18 import tango.stdc.stdlib : crealloc = realloc, cfree = free;
19 import tango.stdc.string : memmove; 19 import tango.stdc.string : memmove;
20 20
21 debug import tango.io.Stdout;
22
23 private: // private by default 21 private: // private by default
24 22
25 alias void delegate(Object) DEvent; 23 alias void delegate(Object) DEvent;
26 24
27 extern(C) void rt_attachDisposeEvent(Object o, DEvent e); 25 extern(C) void rt_attachDisposeEvent(Object o, DEvent e);
134 S get(S)() 132 S get(S)()
135 { 133 {
136 static assert (is(typeof(*S.init) == function)); 134 static assert (is(typeof(*S.init) == function));
137 return cast(S)funcptr; 135 return cast(S)funcptr;
138 } 136 }
139
140 debug string toString()
141 {
142 return Stdout.layout.convert("funcptr: {}", funcptr);
143 }
144 } 137 }
145 138
146 struct Dg 139 struct Dg
147 { 140 {
148 void* context; 141 void* context;
172 static assert (is(S == delegate)); 165 static assert (is(S == delegate));
173 S r; 166 S r;
174 r.ptr = context; 167 r.ptr = context;
175 r.funcptr = cast(typeof(r.funcptr))funcptr; 168 r.funcptr = cast(typeof(r.funcptr))funcptr;
176 return r; 169 return r;
177 }
178
179 debug string toString()
180 {
181 return Stdout.layout.convert("context: {}, funcptr: {}", context, funcptr);
182 } 170 }
183 } 171 }
184 172
185 struct Slot(R) 173 struct Slot(R)
186 { 174 {
223 { 211 {
224 typeof(*this) ret; 212 typeof(*this) ret;
225 ret.receiver = r; 213 ret.receiver = r;
226 ret.invoker = c; 214 ret.invoker = c;
227 return ret; 215 return ret;
228 }
229
230 debug string toString()
231 {
232 return Stdout.layout.convert("receiver: {}, invoker {}: ", receiver, invoker);
233 } 216 }
234 } 217 }
235 218
236 enum SlotListId 219 enum SlotListId
237 { 220 {
381 } 364 }
382 } 365 }
383 static if (!strong) 366 static if (!strong)
384 cfree(data.ptr); 367 cfree(data.ptr);
385 } 368 }
386
387 debug string toString()
388 {
389 string r;
390 foreach(e; data)
391 r ~= e.toString ~ "\n";
392 return r;
393 }
394 } 369 }
395 370
396 public alias void delegate(int signalId) SignalEvent; 371 public alias void delegate(int signalId) SignalEvent;
397 372
398 struct SignalConnections 373 struct SignalConnections
479 } 454 }
480 455
481 template ReceiverType(int slotListId) 456 template ReceiverType(int slotListId)
482 { 457 {
483 alias SlotType!(slotListId).Receiver ReceiverType; 458 alias SlotType!(slotListId).Receiver ReceiverType;
484 }
485
486 debug string toString()
487 {
488 string r;
489 foreach(i, e; slotLists.tupleof)
490 {
491 r ~= Stdout.layout.convert("Slot list {}:", i);
492 r ~= slotLists.at!(i).toString;
493 }
494 return r;
495 } 459 }
496 460
497 static const slotListCount = slotLists.tupleof.length; 461 static const slotListCount = slotLists.tupleof.length;
498 } 462 }
499 463
749 ~this() 713 ~this()
750 { 714 {
751 foreach(ref c; connections) 715 foreach(ref c; connections)
752 c.free; 716 c.free;
753 } 717 }
754
755 debug string toString()
756 {
757 string r;
758 foreach (i, c; connections)
759 r ~= Stdout.layout.convert("Signal {}:\n{}", i, c.toString);
760 return r;
761 }
762 } 718 }
763 719
764 //TODO: this could be avoided if named mixins didn't suck. 720 //TODO: this could be avoided if named mixins didn't suck.
765 public struct SignalOps(int sigId, A...) 721 public struct SignalOps(int sigId, A...)
766 { 722 {