summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fig/FIG0.h')
-rw-r--r--src/fig/FIG0.h26
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_