Commit | Line | Data |
---|---|---|
d4ee6ee2 JM |
1 | // c accessibllity to the c++ fifo class |
2 | #include "fifo.h" | |
3 | #include "c-fifo.h" | |
4 | ||
5 | void *new_fifo() | |
6 | { | |
7 | return new Fifo<char*>; | |
8 | } | |
9 | ||
10 | void delete_fifo(void *fifo) | |
11 | { | |
12 | if(fifo == NULL) return; | |
13 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); | |
14 | while(f->size() > 0) { | |
15 | char *s= f->pop(); | |
16 | if (s != NULL) { | |
17 | free(s); | |
18 | } | |
19 | } | |
20 | delete f; | |
21 | } | |
22 | ||
23 | char *fifo_pop(void *fifo) | |
24 | { | |
25 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); | |
26 | return f->pop(); | |
27 | } | |
28 | ||
29 | void fifo_push(void *fifo, char *str) | |
30 | { | |
31 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); | |
32 | f->push(str); | |
33 | } | |
34 | ||
35 | int fifo_size(void *fifo) | |
36 | { | |
37 | Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo); | |
38 | return f->size(); | |
39 | } |