mpegts linuxdvb: some minor modifications to linuxdvb for better idnode API

This commit is contained in:
Adam Sutton 2013-08-15 12:05:30 +01:00
parent dee72beaa5
commit 0218b3842a
4 changed files with 17 additions and 21 deletions

View file

@ -177,7 +177,6 @@ struct mpegts_network
/*
* Functions
*/
void (*mn_delete) (mpegts_network_t *mn);
void (*mn_display_name) (mpegts_network_t*, char *buf, size_t len);
void (*mn_config_save) (mpegts_network_t*);
mpegts_mux_t* (*mn_create_mux)
@ -472,9 +471,6 @@ extern const idclass_t mpegts_network_class;
#define mpegts_network_find(u)\
idnode_find(u, &mpegts_network_class)
#define mpegts_network_delete_by_uuid(u)\
{ mpegts_network_t *mn = mpegts_network_find(u); if (mn && mn->mn_delete) mn->mn_delete(mn); }
void mpegts_network_delete ( mpegts_network_t *mn );
void mpegts_network_schedule_initial_scan

View file

@ -95,8 +95,7 @@ linuxdvb_frontend_class_network_enum(void *o)
htsmsg_t *m = htsmsg_create_map();
htsmsg_t *p = htsmsg_create_map();
htsmsg_add_str(m, "type", "api");
htsmsg_add_str(m, "uri", "mpegts/input");
htsmsg_add_str(p, "op", "network_list");
htsmsg_add_str(m, "uri", "mpegts/input/network_list");
htsmsg_add_str(p, "uuid", idnode_uuid_as_str((idnode_t*)o));
htsmsg_add_str(m, "event", "mpegts_network");
htsmsg_add_msg(m, "params", p);

View file

@ -36,11 +36,25 @@
extern const idclass_t mpegts_network_class;
static void
linuxdvb_network_class_delete ( idnode_t *in )
{
mpegts_network_t *mn = (mpegts_network_t*)in;
/* remove config */
hts_settings_remove("input/linuxdvb/networks/%s",
idnode_uuid_as_str(in));
/* Parent delete */
mpegts_network_delete(mn);
}
const idclass_t linuxdvb_network_class =
{
.ic_super = &mpegts_network_class,
.ic_class = "linuxdvb_network",
.ic_caption = "LinuxDVB Network",
.ic_delete = linuxdvb_network_class_delete,
.ic_properties = (const property_t[]){
{}
}
@ -169,18 +183,6 @@ linuxdvb_network_mux_create2
NULL, NULL, conf);
}
static void
linuxdvb_network_delete
( mpegts_network_t *mn )
{
/* remove config */
hts_settings_remove("input/linuxdvb/networks/%s",
idnode_uuid_as_str(&mn->mn_id));
/* Parent delete */
mpegts_network_delete(mn);
}
/* ****************************************************************************
* Creation/Config
* ***************************************************************************/
@ -208,7 +210,6 @@ linuxdvb_network_create0
ln->ln_type = FE_ATSC;
/* Callbacks */
ln->mn_delete = linuxdvb_network_delete;
ln->mn_create_mux = linuxdvb_network_create_mux;
ln->mn_create_service = linuxdvb_network_create_service;
ln->mn_config_save = linuxdvb_network_config_save;

View file

@ -77,9 +77,9 @@ linuxdvb_satconf_class_network_enum(void *o)
htsmsg_t *m = htsmsg_create_map();
htsmsg_t *p = htsmsg_create_map();
htsmsg_add_str(m, "type", "api");
htsmsg_add_str(m, "uri", "idnode");
htsmsg_add_str(m, "uri", "idnode/load");
htsmsg_add_str(m, "event", "mpegts_network");
htsmsg_add_str(p, "op", "list");
htsmsg_add_u32(p, "enum", 1);
htsmsg_add_str(p, "class", linuxdvb_network_dvbs_class.ic_class);
htsmsg_add_msg(m, "params", p);