diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2025-10-06 17:21:13 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2025-10-06 17:21:13 +0200 |
commit | b6b840f6072e950f2ded719ae51badfba7566fa8 (patch) | |
tree | 67fa420ad7de127290c85ffb84196ae2e3fe1c7a /src/MuxElements.cpp | |
parent | f34c15338bc07357f1a1665e2c6e8fc1eaca7eed (diff) | |
download | dabmux-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.cpp | 28 |
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) { |