aboutsummaryrefslogtreecommitdiffstats
path: root/src/EtiReader.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2023-10-31 23:02:10 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2023-10-31 23:02:10 +0100
commitc2467d222ec08ddc4c6f79ea01773496090f809f (patch)
tree33132f324da5b9bfb7a3d711c85053f80ac4f427 /src/EtiReader.h
parent6728ddc82936d8d6223a885bf7fbcec9a00c18a6 (diff)
downloaddabmod-c2467d222ec08ddc4c6f79ea01773496090f809f.tar.gz
dabmod-c2467d222ec08ddc4c6f79ea01773496090f809f.tar.bz2
dabmod-c2467d222ec08ddc4c6f79ea01773496090f809f.zip
Add FIC decoder, present ensemble info for monitoring
Diffstat (limited to 'src/EtiReader.h')
-rw-r--r--src/EtiReader.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/EtiReader.h b/src/EtiReader.h
index fb2c84c..29091bd 100644
--- a/src/EtiReader.h
+++ b/src/EtiReader.h
@@ -34,6 +34,7 @@
#include "Eti.h"
#include "Log.h"
#include "FicSource.h"
+#include "FigParser.h"
#include "Socket.h"
#include "SubchannelSource.h"
#include "TimestampDecoder.h"
@@ -174,6 +175,15 @@ public:
// Gets called by the EDI library to tell us that all data for a frame was given to us
virtual void assemble(EdiDecoder::ReceivedTagPacket&& tagpacket) override;
+
+ std::optional<FIC_ENSEMBLE> getEnsembleInfo() const {
+ return m_fic_decoder.observer.ensemble;
+ }
+
+ std::map<int /*SId*/, LISTED_SERVICE> getServiceInfo() const {
+ return m_fic_decoder.observer.services;
+ }
+
private:
bool m_proto_valid = false;
bool m_frameReady = false;
@@ -197,6 +207,7 @@ private:
std::map<uint8_t, std::shared_ptr<SubchannelSource> > m_sources;
TimestampDecoder m_timestamp_decoder;
+ FICDecoder m_fic_decoder;
};
/* The EDI input does not use the inputs defined in InputReader.h, as they were