PageRenderTime 34ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/d/callback/d2/runme.d

#
D | 36 lines | 30 code | 6 blank | 0 comment | 0 complexity | 4865d060c57ee0940cab907b1e3796b1 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. module runme;
  2. import std.stdio;
  3. import example;
  4. public class DCallback : Callback {
  5. public override void run() {
  6. writeln( "DCallback.run()" );
  7. }
  8. }
  9. void main() {
  10. auto caller = new Caller();
  11. writeln( "Adding and calling a normal C++ callback" );
  12. writeln( "----------------------------------------" );
  13. {
  14. scope auto callback = new Callback();
  15. caller.setCallback(callback);
  16. caller.call();
  17. caller.resetCallback();
  18. }
  19. writeln();
  20. writeln( "Adding and calling a D callback" );
  21. writeln( "-------------------------------" );
  22. {
  23. scope auto callback = new DCallback();
  24. caller.setCallback(callback);
  25. caller.call();
  26. caller.resetCallback();
  27. }
  28. writeln();
  29. writeln( "D exit" );
  30. }