summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2015-07-18 22:20:11 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2015-07-18 22:20:11 +0200
commit43aebb09438ff589a7be141a5af0aec2c27eaa95 (patch)
treea01cf8fc060407dc665b456aa0bb5514b0d3a5aa /src/fig/FIG0.h
parentba8a05f29b819eb99d9cc9e69f8da7003e2c79c1 (diff)
downloaddabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.tar.gz
dabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.tar.bz2
dabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.zip
Add FIG0/2, fib0 scheduler
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_