mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
main part of the native protocol
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@31 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
eecf602476
commit
acb25b3510
62 changed files with 2473 additions and 755 deletions
12
src/cli.c
12
src/cli.c
|
|
@ -20,6 +20,8 @@ struct cli {
|
|||
|
||||
void (*eof_callback)(struct cli *c, void *userdata);
|
||||
void *userdata;
|
||||
|
||||
struct client *client;
|
||||
};
|
||||
|
||||
struct command {
|
||||
|
|
@ -63,6 +65,7 @@ static const struct command commands[] = {
|
|||
static const char prompt[] = ">>> ";
|
||||
|
||||
struct cli* cli_new(struct core *core, struct iochannel *io) {
|
||||
char cname[256];
|
||||
struct cli *c;
|
||||
assert(io);
|
||||
|
||||
|
|
@ -75,16 +78,21 @@ struct cli* cli_new(struct core *core, struct iochannel *io) {
|
|||
c->userdata = NULL;
|
||||
c->eof_callback = NULL;
|
||||
|
||||
iochannel_peer_to_string(io, cname, sizeof(cname));
|
||||
c->client = client_new(core, "CLI", cname);
|
||||
assert(c->client);
|
||||
|
||||
ioline_set_callback(c->line, line_callback, c);
|
||||
ioline_puts(c->line, "Welcome to polypaudio! Use \"help\" for usage information.\n");
|
||||
ioline_puts(c->line, prompt);
|
||||
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
void cli_free(struct cli *c) {
|
||||
assert(c);
|
||||
ioline_free(c->line);
|
||||
client_free(c->client);
|
||||
free(c);
|
||||
}
|
||||
|
||||
|
|
@ -135,7 +143,7 @@ void cli_set_eof_callback(struct cli *c, void (*cb)(struct cli*c, void *userdata
|
|||
|
||||
static void cli_command_exit(struct cli *c, struct tokenizer *t) {
|
||||
assert(c && c->core && c->core->mainloop && t);
|
||||
mainloop_quit(c->core->mainloop, -1);
|
||||
c->core->mainloop->quit(c->core->mainloop, 0);
|
||||
}
|
||||
|
||||
static void cli_command_help(struct cli *c, struct tokenizer *t) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue