diff options
Diffstat (limited to 'src/tests/signals.cpp')
-rw-r--r-- | src/tests/signals.cpp | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/tests/signals.cpp b/src/tests/signals.cpp index b4b1363..4af2b8e 100644 --- a/src/tests/signals.cpp +++ b/src/tests/signals.cpp | |||
@@ -51,7 +51,32 @@ private: | |||
51 | 51 | ||
52 | void pfnc0() | 52 | void pfnc0() |
53 | { | 53 | { |
54 | sio << "This doesn't have state, it's pfnc0()!" << sio.nl; | 54 | sio << ": void pfnc0()" << sio.nl; |
55 | } | ||
56 | |||
57 | void pfnc1( int a ) | ||
58 | { | ||
59 | sio << ": void pfnc1( " << a << " )" << sio.nl; | ||
60 | } | ||
61 | |||
62 | void pfnc2( int a, Bu::FString b ) | ||
63 | { | ||
64 | sio << ": void pfnc2( " << a << ", \"" << b << "\" )" << sio.nl; | ||
65 | } | ||
66 | |||
67 | void pfnc3( int a, Bu::FString b, double c ) | ||
68 | { | ||
69 | sio << ": void pfnc3( " << a << ", \"" << b << "\", " << c << " )" << sio.nl; | ||
70 | } | ||
71 | |||
72 | void pfnc4( int a, Bu::FString b, double c, char d ) | ||
73 | { | ||
74 | sio << ": void pfnc4( " << a << ", \"" << b << "\", " << c << ", '" << d << "' )" << sio.nl; | ||
75 | } | ||
76 | |||
77 | void pfnc5( int a, Bu::FString b, double c, char d, long e ) | ||
78 | { | ||
79 | sio << ": void pfnc5( " << a << ", \"" << b << "\", " << c << ", '" << d << "', " << e << " )" << sio.nl; | ||
55 | } | 80 | } |
56 | 81 | ||
57 | void callit( Signal0<void> sig ) | 82 | void callit( Signal0<void> sig ) |
@@ -65,21 +90,33 @@ int main() | |||
65 | 90 | ||
66 | Signal0<void> cb0( slot( &t, &Thing::fnc0 ) ); | 91 | Signal0<void> cb0( slot( &t, &Thing::fnc0 ) ); |
67 | cb0(); | 92 | cb0(); |
93 | cb0 = slot( &pfnc0 ); | ||
94 | cb0(); | ||
68 | 95 | ||
69 | Signal1<void, int> cb1( slot( &t, &Thing::fnc1 ) ); | 96 | Signal1<void, int> cb1( slot( &t, &Thing::fnc1 ) ); |
70 | cb1( 5 ); | 97 | cb1( 5 ); |
98 | cb1 = slot( &pfnc1 ); | ||
99 | cb1( 5 ); | ||
71 | 100 | ||
72 | Signal2<void, int, Bu::FString> cb2( slot( &t, &Thing::fnc2 ) ); | 101 | Signal2<void, int, Bu::FString> cb2( slot( &t, &Thing::fnc2 ) ); |
73 | cb2( 5, "Hi there" ); | 102 | cb2( 5, "Hi there" ); |
103 | cb2 = slot( &pfnc2 ); | ||
104 | cb2( 5, "Hi there" ); | ||
74 | 105 | ||
75 | Signal3<void, int, Bu::FString, double> cb3( slot( &t, &Thing::fnc3 ) ); | 106 | Signal3<void, int, Bu::FString, double> cb3( slot( &t, &Thing::fnc3 ) ); |
76 | cb3( 5, "Hi there", 12.85 ); | 107 | cb3( 5, "Hi there", 12.85 ); |
108 | cb3 = slot( &pfnc3 ); | ||
109 | cb3( 5, "Hi there", 12.85 ); | ||
77 | 110 | ||
78 | Signal4<void, int, Bu::FString, double, char> cb4( slot( &t, &Thing::fnc4 ) ); | 111 | Signal4<void, int, Bu::FString, double, char> cb4( slot( &t, &Thing::fnc4 ) ); |
79 | cb4( 5, "Hi there", 12.85, 'z' ); | 112 | cb4( 5, "Hi there", 12.85, 'z' ); |
113 | cb4 = slot( &pfnc4 ); | ||
114 | cb4( 5, "Hi there", 12.85, 'z' ); | ||
80 | 115 | ||
81 | Signal5<void, int, Bu::FString, double, char, long> cb5( slot( &t, &Thing::fnc5 ) ); | 116 | Signal5<void, int, Bu::FString, double, char, long> cb5( slot( &t, &Thing::fnc5 ) ); |
82 | cb5( 5, "Hi there", 12.85, 'z', 849 ); | 117 | cb5( 5, "Hi there", 12.85, 'z', 849 ); |
118 | cb5 = slot( &pfnc5 ); | ||
119 | cb5( 5, "Hi there", 12.85, 'z', 849 ); | ||
83 | 120 | ||
84 | // Signal1<int, int> cb1( slot( &t, &Thing::fnc1 ) ); | 121 | // Signal1<int, int> cb1( slot( &t, &Thing::fnc1 ) ); |
85 | // sio << "Result: " << cb1( 5 ) << sio.nl; | 122 | // sio << "Result: " << cb1( 5 ) << sio.nl; |