37 lines
787 B
D
37 lines
787 B
D
module runme;
|
|
|
|
import tango.io.Stdout;
|
|
import example;
|
|
|
|
public class DCallback : Callback {
|
|
public override void run() {
|
|
Stdout( "DCallback.run()" ).newline;
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
auto caller = new Caller();
|
|
|
|
Stdout( "Adding and calling a normal C++ callback" ).newline;
|
|
Stdout( "----------------------------------------" ).newline;
|
|
{
|
|
scope auto callback = new Callback();
|
|
caller.setCallback(callback);
|
|
caller.call();
|
|
caller.resetCallback();
|
|
}
|
|
|
|
Stdout.newline;
|
|
Stdout( "Adding and calling a D callback" ).newline;
|
|
Stdout( "-------------------------------" ).newline;
|
|
{
|
|
scope auto callback = new DCallback();
|
|
caller.setCallback(callback);
|
|
caller.call();
|
|
caller.resetCallback();
|
|
}
|
|
|
|
Stdout.newline;
|
|
Stdout( "D exit" ).newline;
|
|
}
|