diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-06-18 00:22:37 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-06-18 00:22:37 +0000 |
commit | 993d1bce74f4cc5be2bfa69a467aae106e2194ab (patch) | |
tree | f281667fdbc6f643f4a799be75dcbd95102c0dc8 /src/module-cli.c | |
parent | eb946dbdbeda66b95039b1e5ada3b9006dc33c8c (diff) |
basic cli interface
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@22 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/module-cli.c')
-rw-r--r-- | src/module-cli.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/module-cli.c b/src/module-cli.c new file mode 100644 index 00000000..4af37f67 --- /dev/null +++ b/src/module-cli.c @@ -0,0 +1,34 @@ +#include <stdio.h> +#include <assert.h> +#include <unistd.h> + +#include "main.h" +#include "module.h" +#include "iochannel.h" +#include "cli.h" + +int module_init(struct core *c, struct module*m) { + struct iochannel *io; + assert(c && m); + + if (stdin_inuse || stdout_inuse) { + fprintf(stderr, "STDIN/STDUSE already used\n"); + return -1; + } + + stdin_inuse = stdout_inuse = 1; + io = iochannel_new(c->mainloop, STDIN_FILENO, STDOUT_FILENO); + assert(io); + + m->userdata = cli_new(c, io); + assert(m->userdata); + return 0; +} + +void module_done(struct core *c, struct module*m) { + assert(c && m); + + cli_free(m->userdata); + assert(stdin_inuse && stdout_inuse); + stdin_inuse = stdout_inuse = 0; +} |