21 SignalHandlerResult handler0( Test& ){
22 return SIGNAL_CONTINUE_EMISSION;
24 typedef Function1<Test&, SignalHandlerResult, handler0> TestHandler0;
26 int function0( Test& ){
29 typedef Function1<Test&, int, function0> TestFunction0;
31 SignalHandlerResult handler1( Test&, A1 ){
32 return SIGNAL_CONTINUE_EMISSION;
34 typedef Function2<Test&, A1, SignalHandlerResult, handler1> TestHandler1;
36 void function1( Test&, A1 ){
38 typedef ReferenceCaller1<Test, A1, function1> TestFunction1;
40 SignalHandlerResult handler2( Test&, A1, A2 ){
41 return SIGNAL_CONTINUE_EMISSION;
43 typedef Function3<Test&, A1, A2, SignalHandlerResult, handler2> TestHandler2;
45 void function2( Test&, A1, A2 ){
47 typedef Function3<Test&, A1, A2, void, function2> TestFunction2;
49 SignalHandlerResult handler3( Test&, A1, A2, A3 ){
50 return SIGNAL_CONTINUE_EMISSION;
52 typedef Function4<Test&, A1, A2, A3, SignalHandlerResult, handler3> TestHandler3;
54 void function3( Test&, A1, A2, A3 ){
56 typedef Function4<Test&, A1, A2, A3, void, function3> TestFunction3;
62 Signal0::handler_id_type a = e0.connectLast( makeSignalHandler( TestHandler0(), test ) ); // signal handler from direct caller returning result
63 Signal0::handler_id_type b = e0.connectFirst( makeSignalHandler( TestFunction0(), test ) ); // signal handler from direct caller returning int
69 typedef Signal1<A1> Signal1Test;
71 Signal1Test::handler_id_type a = e1.connectLast( makeSignalHandler1( TestHandler1(), test ) ); // signal handler from direct caller with one argument, returning result
72 Signal1Test::handler_id_type b = e1.connectFirst( makeSignalHandler1( TestFunction1( test ) ) ); // signal handler from opaque caller with one argument, returning void
78 typedef Signal2<A1, A2> Signal2Test;
80 Signal2Test::handler_id_type a = e2.connectLast( makeSignalHandler2( TestHandler2(), test ) ); // signal handler from direct caller with two arguments, returning result
81 Signal2Test::handler_id_type b = e2.connectLast( makeSignalHandler2( TestFunction2(), test ) ); // signal handler from direct caller with two arguments, returning void
87 typedef Signal3<A1, A2, A3> Signal3Test;
89 Signal3Test::handler_id_type a = e3.connectLast( makeSignalHandler3( TestHandler3(), test ) ); // signal handler from direct caller with three arguments, returning result
90 Signal3Test::handler_id_type b = e3.connectLast( makeSignalHandler3( TestFunction3(), test ) ); // signal handler from direct caller with three arguments, returning void
91 e3( A1(), A2(), A3() );