3 class Maman
.Foo
: Object
{
4 public signal void activated (bool b
);
6 public void do_action (bool b
) {
11 class Maman
.Bar
: Object
{
12 void activated (Foo foo
, bool b
) {
14 stdout
.printf (" BAD");
25 foo
.activated
.connect ((foo
, b
) => {
33 foo
.activated
.connect (activated
);
37 foo
.do_action (false);
41 foo
.activated
.disconnect (activated
);
51 class Maman
.UserFoo
: Object
{
52 public signal void activated (int i1
, int i2
);
54 public void do_action () {
59 class Maman
.UserBar
: Object
{
63 var foo
= new
UserFoo ();
65 foo
.activated
.connect ((foo
, i1
, i2
) => {
66 stdout
.printf (" %d", i1
+ i2
);
77 class Maman
.ReturnFoo
: Object
{
78 public signal int int_activated (int arg
);
79 public signal string string_activated (string arg
);
82 class Maman
.ReturnBar
: Object
{
86 var foo
= new
ReturnFoo ();
88 foo
.int_activated
.connect ((foo
, arg
) => {
89 stdout
.printf (" %d", arg
);
93 foo
.string_activated
.connect ((foo
, arg
) => {
98 stdout
.printf (" %d", foo
.int_activated (3));
100 stdout
.printf (foo
.string_activated (" 5"));
102 stdout
.printf (" 7");
107 stdout
.printf ("Signal Test: 1");
109 var bar
= new Maman
.Bar ();
112 stdout
.printf (" 10\n");
114 stdout
.printf ("User Signal Test: 1");
116 var user_bar
= new Maman
.UserBar ();
119 stdout
.printf (" 6\n");
121 stdout
.printf ("Signal Return Test: 1");
123 var return_bar
= new Maman
.ReturnBar ();
126 stdout
.printf (" 8\n");