aboutsummaryrefslogtreecommitdiffstats
path: root/src/MuxElements.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2025-10-06 17:21:13 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2025-10-06 17:21:13 +0200
commitb6b840f6072e950f2ded719ae51badfba7566fa8 (patch)
tree67fa420ad7de127290c85ffb84196ae2e3fe1c7a /src/MuxElements.cpp
parentf34c15338bc07357f1a1665e2c6e8fc1eaca7eed (diff)
downloaddabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.tar.gz
dabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.tar.bz2
dabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.zip
Add frequency_information hot-reload
Diffstat (limited to 'src/MuxElements.cpp')
-rw-r--r--src/MuxElements.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/MuxElements.cpp b/src/MuxElements.cpp
index 1f02a6d..d39c874 100644
--- a/src/MuxElements.cpp
+++ b/src/MuxElements.cpp
@@ -745,7 +745,8 @@ const json::map_t dabEnsemble::get_all_values() const
bool dabEnsemble::validate_linkage_sets() const
{
- return validate_linkage_sets(services, linkagesets);
+ unique_lock<mutex> lock(m_mutex);
+ return validate_linkage_sets(services, m_linkagesets);
}
bool dabEnsemble::validate_linkage_sets(
@@ -789,6 +790,31 @@ bool dabEnsemble::validate_linkage_sets(
return true;
}
+std::vector<FrequencyInformation> dabEnsemble::get_frequency_information() const
+{
+ unique_lock<mutex> lock(m_mutex);
+ auto fi = m_frequency_information;
+ lock.unlock();
+ return fi;
+}
+
+std::vector<std::shared_ptr<LinkageSet> > dabEnsemble::get_linkagesets() const
+{
+ unique_lock<mutex> lock(m_mutex);
+ auto ls = m_linkagesets;
+ lock.unlock();
+ return ls;
+}
+
+void dabEnsemble::set_linking_config(
+ std::vector<std::shared_ptr<LinkageSet> >& new_linkage_sets,
+ std::vector<FrequencyInformation>& new_frequency_information)
+{
+ unique_lock<mutex> lock(m_mutex);
+ m_frequency_information = new_frequency_information;
+ m_linkagesets = new_linkage_sets;
+}
+
unsigned short DabSubchannel::getSizeCu() const
{
if (protection.form == UEP) {