1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#include <Elementary.h>
#include <libglouglou.h>
static Eina_Bool
_cb_conn_data(void *data, int type, Ecore_Con_Event_Server_Data *ev)
{
char fmt[128];
snprintf(fmt, sizeof(fmt),
"connection received %i bytes from server:\n"
"========\n"
"%%.%is\n"
"========\n",
ev->size, ev->size);
printf(fmt, ev->data);
return ECORE_CALLBACK_RENEW;
}
static void
_cb_on_done(void *data, Evas_Object *obj, void *event_info)
{
elm_exit();
}
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win, *box, *lab, *btn, *bg;
Ecore_Con_Server *conn;
win = elm_win_util_standard_add("hello", "Hello");
evas_object_smart_callback_add(win, "delete,request", _cb_on_done, NULL);
bg = elm_bg_add(win);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bg);
evas_object_show(bg);
box = elm_box_add(win);
elm_box_horizontal_set(box, EINA_TRUE);
elm_win_resize_object_add(win, box);
evas_object_show(box);
lab = elm_label_add(win);
elm_object_text_set(lab, "Welcome to glouglou_efl");
elm_box_pack_end(box, lab);
evas_object_show(lab);
btn = elm_button_add(win);
elm_object_text_set(btn, "OK");
elm_box_pack_end(box, btn);
evas_object_show(btn);
evas_object_smart_callback_add(btn, "clicked", _cb_on_done, NULL);
evas_object_show(win);
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA,
(Ecore_Event_Handler_Cb)_cb_conn_data, NULL);
conn = ecore_con_server_connect(ECORE_CON_REMOTE_UDP, "127.0.0.1", 4430, NULL);
ecore_con_server_send(conn, "hello", 5);
ecore_con_server_flush(conn);
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN()
|