summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0_9.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2018-07-31 11:51:23 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2018-07-31 11:51:23 +0200
commit203b42f0b5a7ed53442b9e0a0072dec48b7f5eb6 (patch)
treefdb5228a3b7a2f2893aba846bb59c9f68a2f6a80 /src/fig/FIG0_9.h
parentb6f7c8123810ca8394f8658de14bf0e67a2557eb (diff)
downloaddabmux-203b42f0b5a7ed53442b9e0a0072dec48b7f5eb6.tar.gz
dabmux-203b42f0b5a7ed53442b9e0a0072dec48b7f5eb6.tar.bz2
dabmux-203b42f0b5a7ed53442b9e0a0072dec48b7f5eb6.zip
Add support for services with different ECC in FIG0/9
Diffstat (limited to 'src/fig/FIG0_9.h')
-rw-r--r--src/fig/FIG0_9.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/fig/FIG0_9.h b/src/fig/FIG0_9.h
index 0a71fa0..ebbf81f 100644
--- a/src/fig/FIG0_9.h
+++ b/src/fig/FIG0_9.h
@@ -3,7 +3,7 @@
2011, 2012 Her Majesty the Queen in Right of Canada (Communications
Research Center Canada)
- Copyright (C) 2016
+ Copyright (C) 2018
Matthias P. Braendli, matthias.braendli@mpb.li
*/
/*
@@ -26,13 +26,15 @@
#pragma once
#include <cstdint>
-#include <vector>
+#include <map>
+#include <list>
namespace FIC {
// FIG type 0/9
// The Country, LTO and International table feature defines the local time
-// offset, the International Table and the Extended Country Code (ECC)
+// offset, the International Table and the Extended Country Code (ECC) for
+// the ensemble. Also, the ECC for services with differing ECC.
class FIG0_9 : public IFIG
{
public:
@@ -45,6 +47,18 @@ class FIG0_9 : public IFIG
private:
FIGRuntimeInformation *m_rti;
+
+ struct FIG0_9_Extended_Field {
+ uint8_t ecc;
+ std::list<uint16_t> sids;
+
+ size_t required_bytes() const {
+ return 2 + 2 * sids.size();
+ }
+ };
+ std::list<FIG0_9_Extended_Field> m_extended_fields;
+ std::list<FIG0_9_Extended_Field>::iterator m_current_extended_field;
+
};
}