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

# · D · 36 lines · 30 code · 6 blank · 0 comment · 0 complexity · 4865d060c57ee0940cab907b1e3796b1 MD5 · raw file

  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. }