diff options
Diffstat (limited to 'figs.cpp')
-rw-r--r-- | figs.cpp | 112 |
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; + } + } +} + |