aboutsummaryrefslogtreecommitdiffstats
path: root/src/MuxElements.h
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.h
parentf34c15338bc07357f1a1665e2c6e8fc1eaca7eed (diff)
downloaddabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.tar.gz
dabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.tar.bz2
dabmux-b6b840f6072e950f2ded719ae51badfba7566fa8.zip
Add frequency_information hot-reload
Diffstat (limited to 'src/MuxElements.h')
-rw-r--r--src/MuxElements.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/MuxElements.h b/src/MuxElements.h
index dfc4380..51445a9 100644
--- a/src/MuxElements.h
+++ b/src/MuxElements.h
@@ -350,9 +350,23 @@ class dabEnsemble : public RemoteControllable {
vec_sp_subchannel subchannels;
std::vector<std::shared_ptr<AnnouncementCluster> > clusters;
- std::vector<std::shared_ptr<LinkageSet> > linkagesets;
- std::vector<FrequencyInformation> frequency_information;
+
std::vector<ServiceOtherEnsembleInfo> service_other_ensemble;
+
+ std::vector<FrequencyInformation> get_frequency_information() const;
+ std::vector<std::shared_ptr<LinkageSet> > get_linkagesets() const;
+
+ void set_linking_config(
+ std::vector<std::shared_ptr<LinkageSet> >& new_linkage_sets,
+ std::vector<FrequencyInformation>& new_frequency_information);
+
+ private:
+ // The following can be updated by the RC while being read by the main
+ // thread, and need to be protected
+ std::vector<std::shared_ptr<LinkageSet> > m_linkagesets;
+ std::vector<FrequencyInformation> m_frequency_information;
+
+ mutable std::mutex m_mutex;
};