aboutsummaryrefslogtreecommitdiffstats
path: root/figs.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-01-15 15:03:38 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-01-15 15:03:38 +0100
commit3576bfcd68ff58e022efc07ef8e1f1b757ccf6fb (patch)
treedd8b4ae93ce1b87260794022f56cf8892958692a /figs.cpp
parent275b55e39a84a3877e7e68b7c800bd0de28c128c (diff)
downloadetisnoop-3576bfcd68ff58e022efc07ef8e1f1b757ccf6fb.tar.gz
etisnoop-3576bfcd68ff58e022efc07ef8e1f1b757ccf6fb.tar.bz2
etisnoop-3576bfcd68ff58e022efc07ef8e1f1b757ccf6fb.zip
Refactor all FIG0/x into separate files
Diffstat (limited to 'figs.cpp')
-rw-r--r--figs.cpp112
1 files changed, 112 insertions, 0 deletions
diff --git a/figs.cpp b/figs.cpp
new file mode 100644
index 0000000..4e7e94c
--- /dev/null
+++ b/figs.cpp
@@ -0,0 +1,112 @@
+/*
+ Copyright (C) 2014 CSP Innovazione nelle ICT s.c.a r.l. (http://www.csp.it/)
+ Copyright (C) 2016 Matthias P. Braendli (http://www.opendigitalradio.org)
+ Copyright (C) 2015 Data Path
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ Authors:
+ Sergio Sagliocco <sergio.sagliocco@csp.it>
+ Matthias P. Braendli <matthias@mpb.li>
+ / | |- ')|) |-|_ _ (|,_ .| _ ,_ \
+ Data Path \(|(||_(|/_| (||_||(a)_||||(|||.(_()|||/
+
+*/
+
+#include "figs.hpp"
+#include <stdio.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <string>
+#include <vector>
+#include <map>
+#include <sstream>
+#include <time.h>
+#include "utils.hpp"
+
+
+static uint8_t Mode_Identity = 0;
+
+void set_mode_identity(uint8_t mid)
+{
+ Mode_Identity = mid;
+}
+
+uint8_t get_mode_identity()
+{
+ return Mode_Identity;
+}
+
+static size_t International_Table_Id;
+
+size_t get_international_table(void)
+{
+ return International_Table_Id;
+}
+
+void set_international_table(size_t intl_table)
+{
+ International_Table_Id = intl_table;
+}
+
+
+void figs_cleardb()
+{
+ // remove elements from fig0_6_key_la and fig0_22_key_Lat_Lng map containers
+ fig0_22_cleardb();
+ fig0_6_cleardb();
+}
+
+
+void fig0_select(fig0_common_t& fig0, int indent)
+{
+ switch (fig0.ext()) {
+ case 0: fig0_0(fig0, indent); break;
+ case 1: fig0_1(fig0, indent); break;
+ case 2: fig0_2(fig0, indent); break;
+ case 3: fig0_3(fig0, indent); break;
+ case 5: fig0_5(fig0, indent); break;
+ case 6: fig0_6(fig0, indent); break;
+ case 8: fig0_8(fig0, indent); break;
+ case 9: fig0_9(fig0, indent); break;
+ case 10: fig0_10(fig0, indent); break;
+ case 11: fig0_11(fig0, indent); break;
+ case 13: fig0_13(fig0, indent); break;
+ case 14: fig0_14(fig0, indent); break;
+ case 16: fig0_16(fig0, indent); break;
+ case 17: fig0_17(fig0, indent); break;
+ case 18: fig0_18(fig0, indent); break;
+ case 19: fig0_19(fig0, indent); break;
+ case 21: fig0_21(fig0, indent); break;
+ case 22: fig0_22(fig0, indent); break;
+ case 24: fig0_24(fig0, indent); break;
+ case 25: fig0_25(fig0, indent); break;
+ case 26: fig0_26(fig0, indent); break;
+ case 27: fig0_27(fig0, indent); break;
+ case 28: fig0_28(fig0, indent); break;
+ case 31: fig0_31(fig0, indent); break;
+ default: {
+ char desc[256];
+ sprintf(desc, "FIG 0/%d: unknown", fig0.ext());
+ printbuf(desc, indent, fig0.f+1, fig0.figlen-1);
+ break;
+ }
+ }
+}
+