|
| 1 | +#include <glib.h> |
| 2 | +#include <ex/ex.h> |
| 3 | + |
| 4 | +static void |
| 5 | +on_incremented (ExFoo *foo, gint val, gint inc, void *user_data) |
| 6 | +{ |
| 7 | + g_print ("incremented to %d by %d\n", val, inc); |
| 8 | +} |
| 9 | + |
| 10 | +int |
| 11 | +main (int argc, const char *argv[]) |
| 12 | +{ |
| 13 | + char *str; |
| 14 | + ExFoo *foo; |
| 15 | + ExBar *bar; |
| 16 | + ExRString *s, *s2; |
| 17 | + ExSharedRString *ss, *ss2; |
| 18 | + gdouble number; |
| 19 | + |
| 20 | + foo = ex_foo_new ("foo's name"); |
| 21 | + g_signal_connect (foo, "incremented", G_CALLBACK (on_incremented), NULL); |
| 22 | + |
| 23 | + str = ex_foo_get_name (foo); |
| 24 | + g_print ("foo name: %s\n", str); |
| 25 | + g_free (str); |
| 26 | + g_print ("foo inc 1: %d\n", ex_foo_increment (foo, 1)); |
| 27 | + g_print ("foo inc 10: %d\n", ex_foo_increment (foo, 10)); |
| 28 | + g_print ("foo counter: %d\n", ex_foo_get_counter (foo)); |
| 29 | + g_object_unref (foo); |
| 30 | + |
| 31 | + bar = ex_bar_new ("bar's name"); |
| 32 | + g_signal_connect (bar, "incremented", G_CALLBACK (on_incremented), NULL); |
| 33 | + |
| 34 | + str = ex_foo_get_name (EX_FOO (bar)); |
| 35 | + g_print ("bar name: %s\n", str); |
| 36 | + g_free (str); |
| 37 | + g_print ("bar inc 1: %d\n", ex_foo_increment (EX_FOO (bar), 1)); |
| 38 | + g_print ("bar inc 10: %d\n", ex_foo_increment (EX_FOO (bar), 10)); |
| 39 | + g_print ("bar counter: %d\n", ex_foo_get_counter (EX_FOO (bar))); |
| 40 | + |
| 41 | + g_print ("bar number: %f\n", ex_bar_get_number (bar)); |
| 42 | + g_object_get (bar, "number", &number, NULL); |
| 43 | + g_print ("bar number (property): %f\n", number); |
| 44 | + ex_bar_set_number (bar, 10.0); |
| 45 | + g_print ("bar number: %f\n", ex_bar_get_number (bar)); |
| 46 | + g_object_get (bar, "number", &number, NULL); |
| 47 | + g_print ("bar number (property): %f\n", number); |
| 48 | + number = 20.0; |
| 49 | + g_object_set (bar, "number", number, NULL); |
| 50 | + g_print ("bar number: %f\n", ex_bar_get_number (bar)); |
| 51 | + g_object_get (bar, "number", &number, NULL); |
| 52 | + g_print ("bar number (property): %f\n", number); |
| 53 | + g_object_unref (bar); |
| 54 | + |
| 55 | + s = ex_rstring_new ("something"); |
| 56 | + |
| 57 | + str = ex_rstring_get (s); |
| 58 | + g_print ("rstring: %s\n", str); |
| 59 | + g_free (str); |
| 60 | + s2 = ex_rstring_copy (s); |
| 61 | + ex_rstring_set (s2, "something else"); |
| 62 | + str = ex_rstring_get (s2); |
| 63 | + g_print ("rstring 2: %s\n", str); |
| 64 | + g_free (str); |
| 65 | + ex_rstring_free (s2); |
| 66 | + ex_rstring_free (s); |
| 67 | + |
| 68 | + ss = ex_shared_rstring_new ("something"); |
| 69 | + str = ex_shared_rstring_get (ss); |
| 70 | + g_print ("shared rstring: %s\n", str); |
| 71 | + g_free (str); |
| 72 | + ss2 = ex_shared_rstring_ref (ss); |
| 73 | + str = ex_shared_rstring_get (ss2); |
| 74 | + g_print ("shared rstring 2: %s\n", str); |
| 75 | + g_free (str); |
| 76 | + ex_shared_rstring_unref (ss2); |
| 77 | + ex_shared_rstring_unref (ss); |
| 78 | + |
| 79 | + return 0; |
| 80 | +} |
0 commit comments