From 3dab3da3f669e1f2c70fd81c13f67c9c5c77278a Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sat, 15 Aug 2015 00:03:04 +0200 Subject: Implement FIG0/18 for announcements --- src/ConfigParser.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/ConfigParser.cpp') diff --git a/src/ConfigParser.cpp b/src/ConfigParser.cpp index 1ad9249..5290b0f 100644 --- a/src/ConfigParser.cpp +++ b/src/ConfigParser.cpp @@ -235,8 +235,7 @@ void parse_ptree(boost::property_tree::ptree& pt, bool service_already_existing = false; - for (auto srv : ensemble->services) - { + for (auto srv : ensemble->services) { if (srv->uid == serviceuid) { service = srv; service_already_existing = true; @@ -250,6 +249,18 @@ void parse_ptree(boost::property_tree::ptree& pt, service = new_srv; } + /* Parse ASu */ + service->ASu = 0; + for (size_t flag = 0; flag < 16; flag++) { + std::string announcement_name(annoucement_flags_names[flag]); + bool flag_set = + pt_service.get("announcements." + announcement_name, false); + + if (flag_set) { + service->ASu |= (1 << flag); + } + } + int success = -5; string servicelabel = pt_service.get("label"); -- cgit v1.2.3