]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blob - mt_aio.c
key
[coffee/mt-apps.git] / mt_aio.c
1 // merica terminal all in one
2 #include "mt_rfid.h"
3 #include "mt_keys.h"
4 #include "mt_server.h"
5 #include "signal_exit.h"
6
7 int main(int argc, char **argv)
8 {
9     struct ev_loop *loop = EV_DEFAULT;
10     int pipefd[2]; // read <- write
11     mt_rfid_t rfid;
12     mt_keys_t keys;
13     mt_server_t server;
14
15     if (pipe(pipefd) == -1) {
16         perror("pipe");
17         return -1;
18     }
19
20     set_signal_exit(loop);
21
22     if (mt_rfid_init(&rfid, loop, pipefd[1]) != 0) {
23         return -1;
24     }
25
26     if (mt_keys_init(&keys, loop, pipefd[1]) != 0) {
27         return -1;
28     }
29
30     if (mt_server_init(&server, loop, pipefd[0]) != 0) {
31         return -2;
32     }
33
34     ev_run(loop, 0);
35
36     mt_server_deinit(&server);
37     mt_keys_deinit(&keys);
38     mt_rfid_deinit(&rfid);
39
40     return 0;
41 }