diff options
Diffstat (limited to 'src/fig/FIG0.h')
-rw-r--r-- | src/fig/FIG0.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/fig/FIG0.h b/src/fig/FIG0.h index 502ce7e..248b501 100644 --- a/src/fig/FIG0.h +++ b/src/fig/FIG0.h @@ -35,10 +35,14 @@ class FIG0_0 : public IFIG { public: - FIG0_0(FIGRuntimeInformation* rti) : m_rti(rti) {} + FIG0_0(FIGRuntimeInformation* rti) : + m_rti(rti) {} virtual size_t fill(uint8_t *buf, size_t max_size); virtual FIG_rate repetition_rate(void) { return FIG_rate::A; } + virtual const int figtype(void) const { return 0; } + virtual const int figextension(void) const { return 0; } + private: FIGRuntimeInformation *m_rti; }; @@ -52,10 +56,30 @@ class FIG0_1 : public IFIG virtual size_t fill(uint8_t *buf, size_t max_size); virtual FIG_rate repetition_rate(void) { return FIG_rate::A; } + virtual const int figtype(void) const { return 0; } + virtual const int figextension(void) const { return 1; } + private: FIGRuntimeInformation *m_rti; std::vector<dabSubchannel*>::iterator subchannelFIG0_1; }; +// FIG type 0/2, MCI, Service Organization, one instance of +// FIGtype0_2_Service for each subchannel +class FIG0_2 : public IFIG +{ + public: + FIG0_2(FIGRuntimeInformation* rti); + virtual size_t fill(uint8_t *buf, size_t max_size); + virtual FIG_rate repetition_rate(void) { return FIG_rate::A; } + + virtual const int figtype(void) const { return 0; } + virtual const int figextension(void) const { return 1; } + + private: + FIGRuntimeInformation *m_rti; + std::vector<std::shared_ptr<DabService> >::iterator serviceProgFIG0_2; +}; + #endif // __FIG0_H_ |