mpegts: add properties to network/mux for list of children

This commit is contained in:
Adam Sutton 2013-06-16 15:05:06 +01:00
parent 50f2b7ee9a
commit cf7518d4a7
2 changed files with 65 additions and 0 deletions

View file

@ -106,6 +106,20 @@ mpegts_mux_class_save ( idnode_t *self )
mm->mm_config_save(mm);
}
static const void *
mpegts_mux_class_get_num_svc ( void *ptr )
{
static int n;
mpegts_mux_t *mm = ptr;
mpegts_service_t *s;
n = 0;
LIST_FOREACH(s, &mm->mm_services, s_dvb_mux_link)
n++;
return &n;
}
const idclass_t mpegts_mux_class =
{
.ic_class = "mpegts_mux",
@ -146,6 +160,13 @@ const idclass_t mpegts_mux_class =
.opts = PO_RDONLY,
.off = offsetof(mpegts_mux_t, mm_initial_scan_done),
},
{
.type = PT_INT,
.id = "num_svc",
.name = "# Services",
.opts = PO_RDONLY | PO_NOSAVE,
.get = mpegts_mux_class_get_num_svc,
},
{}
}
};

View file

@ -33,6 +33,36 @@ mpegts_network_class_save
mn->mn_config_save(mn);
}
static const void *
mpegts_network_class_get_num_mux ( void *ptr )
{
static int n;
mpegts_mux_t *mm;
mpegts_network_t *mn = ptr;
n = 0;
LIST_FOREACH(mm, &mn->mn_muxes, mm_network_link)
n++;
return &n;
}
static const void *
mpegts_network_class_get_num_svc ( void *ptr )
{
static int n;
mpegts_mux_t *mm;
mpegts_service_t *s;
mpegts_network_t *mn = ptr;
n = 0;
LIST_FOREACH(mm, &mn->mn_muxes, mm_network_link)
LIST_FOREACH(s, &mm->mm_services, s_dvb_mux_link)
n++;
return &n;
}
const idclass_t mpegts_network_class =
{
.ic_class = "mpegts_network",
@ -63,6 +93,20 @@ const idclass_t mpegts_network_class =
.name = "Skip Initial Scan",
.off = offsetof(mpegts_network_t, mn_skipinitscan),
},
{
.type = PT_INT,
.id = "num_mux",
.name = "# Muxes",
.opts = PO_RDONLY | PO_NOSAVE,
.get = mpegts_network_class_get_num_mux,
},
{
.type = PT_INT,
.id = "num_svc",
.name = "# Services",
.opts = PO_RDONLY | PO_NOSAVE,
.get = mpegts_network_class_get_num_svc,
},
{}
}
};