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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#include "Eiotas.h"
#include <eina_log.h>
#include <stdio.h>
typedef struct {
char txt[32];
int idx;
} Input;
static Input* input_create(char *txt)
{
Input *input = (Input*)malloc(sizeof(Input));
strncpy(input->txt,txt,32);
input->txt[31] = '\0';
input->idx = 0;
return input;
}
static void input_free(Input *input)
{
EINA_LOG_DOM_DBG(_eiotas_log_dom,"free Input\n");
free(input);
}
static void input_show(Input *input)
{
EINA_LOG_DOM_DBG(_eiotas_log_dom,"Input [%d] %s\n",input->idx,input->txt);
}
static void input_receive(const Eiotas_Door *door, Eiotas_Particle *particle, Eiotas_User_Data *data)
{
EINA_LOG_DOM_DBG(_eiotas_log_dom,"input_receive 0x%X\n",data);
}
int main(int argc, char **argv)
{
int i;
Eiotas_Particle *p0, *p1, *p2, *p3;
if(eiotas_init()>0) {
return EXIT_FAILURE;
}
eina_log_domain_level_set("eiotas",EINA_LOG_LEVEL_DBG);
EINA_LOG_DOM_DBG(_eiotas_log_dom,"Eiotas version %d.%d.%d",eiotas_version->major,eiotas_version->minor,eiotas_version->micro);
Eiotas_Spin *dom0 = eiotas_spin_add("dom0",10);
eiotas_iota_show((Eiotas_Iota*)dom0);
Eiotas_Room *room = &dom0->room;
char name[8];
for(i=0; i<5; i++) {
sprintf(name,"room%d",i);
Eiotas_Room *tmp = eiotas_room_add(name,room);
if(tmp!=NULL) {
room = tmp;
eiotas_iota_show((Eiotas_Iota*)room); // MACROS
}
}
room = eiotas_room_add("room0",&dom0->room);
/* Input *input = input_create("hello world"); */
/* input_show(input); */
/* Eiotas_User_Bits user_bits; */
/* user_bits.data = input; */
/* user_bits.free_fct = (Eiotas_User_Data_Free)&input_free; */
/* user_bits.recv_fct = (Eiotas_Receive_Particle)&input_receive; */
/* Eiotas_Door *din0 = eiotas_door_add("input0",&dom0->room,&user_bits); */
/* eiotas_iota_show(&din0->iota); // eiotas_iota_show((Eiotas_Iota*)din0); */
/* p0 = eiotas_iota_require_particle((Eiotas_Iota*)din0); */
/* p1 = eiotas_iota_require_particle((Eiotas_Iota*)din0); */
/* p2 = eiotas_iota_require_particle((Eiotas_Iota*)din0); */
/* p3 = eiotas_iota_require_particle((Eiotas_Iota*)din0); */
/* eiotas_iota_release_particle((Eiotas_Iota*)din0,p0); */
/* eiotas_iota_release_particle((Eiotas_Iota*)din0,p1); */
/* eiotas_spin_send_particle(din0->iota.spin,p2,EINA_FALSE); */
/* eiotas_spin_send_particle(din0->iota.spin,p3,EINA_TRUE); */
eiotas_spin_free(dom0);
return eiotas_shutdown();
}
|