api: added channeltag list API call
This commit is contained in:
parent
a4adf79a7c
commit
62d62e0a6e
1 changed files with 32 additions and 4 deletions
|
@ -77,13 +77,41 @@ api_channel_create
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
api_channeltag_enum
|
||||||
|
( void *opaque, const char *op, htsmsg_t *args, htsmsg_t **resp )
|
||||||
|
{
|
||||||
|
channel_tag_t *ct;
|
||||||
|
htsmsg_t *l, *e;
|
||||||
|
|
||||||
|
int _enum = htsmsg_get_bool_or_default(args, "enum", 0);
|
||||||
|
|
||||||
|
if (_enum) {
|
||||||
|
l = htsmsg_create_list();
|
||||||
|
TAILQ_FOREACH(ct, &channel_tags, ct_link) {
|
||||||
|
e = htsmsg_create_map();
|
||||||
|
htsmsg_add_u32(e, "key", ct->ct_identifier);
|
||||||
|
htsmsg_add_str(e, "val", ct->ct_name);
|
||||||
|
htsmsg_add_msg(l, NULL, e);
|
||||||
|
}
|
||||||
|
*resp = htsmsg_create_map();
|
||||||
|
htsmsg_add_msg(*resp, "entries", l);
|
||||||
|
} else {
|
||||||
|
// TODO: support full listing v enum
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void api_channel_init ( void )
|
void api_channel_init ( void )
|
||||||
{
|
{
|
||||||
static api_hook_t ah[] = {
|
static api_hook_t ah[] = {
|
||||||
{ "channel/class", ACCESS_ANONYMOUS, api_idnode_class, (void*)&channel_class },
|
{ "channel/class", ACCESS_ANONYMOUS, api_idnode_class, (void*)&channel_class },
|
||||||
{ "channel/grid", ACCESS_ANONYMOUS, api_idnode_grid, api_channel_grid },
|
{ "channel/grid", ACCESS_ANONYMOUS, api_idnode_grid, api_channel_grid },
|
||||||
{ "channel/list", ACCESS_ANONYMOUS, api_channel_list, NULL },
|
{ "channel/list", ACCESS_ANONYMOUS, api_channel_list, NULL },
|
||||||
{ "channel/create", ACCESS_ADMIN, api_channel_create, NULL },
|
{ "channel/create", ACCESS_ADMIN, api_channel_create, NULL },
|
||||||
|
|
||||||
|
{ "channeltag/list", ACCESS_ANONYMOUS, api_channeltag_enum, NULL },
|
||||||
|
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue