Eo: Removed "type" property from event/op descriptions.
[profile/ivi/eobj.git] / examples / constructors / main.c
1 #include "Eo.h"
2 #include "simple.h"
3 #include "simple2.h"
4 #include "simple3.h"
5 #include "simple4.h"
6 #include "simple5.h"
7 #include "simple6.h"
8 #include "mixin.h"
9
10 #include "../eunit_tests.h"
11
12 int my_init_count = 0;
13
14 int
15 main(int argc, char *argv[])
16 {
17    int ret = 0;
18    (void) argc;
19    (void) argv;
20    eo_init();
21
22    Eo *obj = eo_add(SIMPLE_CLASS, NULL);
23
24    fail_if(my_init_count != 2);
25
26    eo_do(obj, simple_a_set(1), simple_b_set(2));
27
28    int a, b;
29    eo_do(obj, simple_a_get(&a), simple_b_get(&b),  mixin_add_and_print(5));
30
31    eo_unref(obj);
32
33    fail_if(my_init_count != 0);
34
35    obj = eo_add(SIMPLE2_CLASS, NULL);
36    fail_if(obj);
37
38    obj = eo_add(SIMPLE3_CLASS, NULL);
39    fail_if(obj);
40
41    my_init_count = 0;
42    obj = eo_add(SIMPLE4_CLASS, NULL);
43
44    fail_if(my_init_count != 2);
45
46    eo_unref(obj);
47
48    fail_if(my_init_count != 0);
49
50    obj = eo_add(SIMPLE5_CLASS, NULL);
51    eo_unref(obj);
52
53    obj = eo_add(SIMPLE6_CLASS, NULL);
54    eo_unref(obj);
55
56    eo_shutdown();
57    return ret;
58 }
59