diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-08-15 13:42:23 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-08-15 14:00:48 +0200 |
commit | d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83 (patch) | |
tree | b32dc3a732377b2d094145d929bf39b44ee4366c /src/MuxElements.h | |
parent | 55a66f6408042abfd102f92fd0072a000d8e0235 (diff) | |
download | dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.tar.gz dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.tar.bz2 dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.zip |
Add FIG0/19
Diffstat (limited to 'src/MuxElements.h')
-rw-r--r-- | src/MuxElements.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/MuxElements.h b/src/MuxElements.h index e1cc3a9..9fe2aeb 100644 --- a/src/MuxElements.h +++ b/src/MuxElements.h @@ -64,6 +64,34 @@ const char * const annoucement_flags_names[] = { "tba1", "tba2", "tba3", "tba4", "tba5" }; +/* Class representing an announcement cluster for FIG 0/19 */ +class AnnouncementCluster : public RemoteControllable { + public: + AnnouncementCluster(std::string name) : + RemoteControllable(name), + m_active(false) + { + RC_ADD_PARAMETER(active, "Signal this announcement"); + } + + uint8_t cluster_id; + uint16_t flags; + std::string subchanneluid; + + std::string tostring(void) const; + + bool is_active(void) const { return m_active; }; + + private: + bool m_active; + + /* Remote control */ + virtual void set_parameter(const std::string& parameter, + const std::string& value); + + /* Getting a parameter always returns a string. */ + virtual const std::string get_parameter(const std::string& parameter) const; +}; struct dabOutput { dabOutput(const char* proto, const char* name) : @@ -160,6 +188,8 @@ class dabEnsemble : public RemoteControllable { std::vector<std::shared_ptr<DabService> > services; std::vector<DabComponent*> components; std::vector<dabSubchannel*> subchannels; + + std::vector<std::shared_ptr<AnnouncementCluster> > clusters; }; |