diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-02 17:43:32 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-07 21:20:24 +0200 |
commit | 4809f3c042a99a639542b1e6cd22657871113260 (patch) | |
tree | dc0ec0f256eaceb79d63daa09591d4a6ef08cb73 /tables.cpp | |
parent | 5542c8ecff635f9abc05b6b2ff255db02c2c9c46 (diff) | |
download | etisnoop-4809f3c042a99a639542b1e6cd22657871113260.tar.gz etisnoop-4809f3c042a99a639542b1e6cd22657871113260.tar.bz2 etisnoop-4809f3c042a99a639542b1e6cd22657871113260.zip |
Move all sources to src/
Diffstat (limited to 'tables.cpp')
-rw-r--r-- | tables.cpp | 311 |
1 files changed, 0 insertions, 311 deletions
diff --git a/tables.cpp b/tables.cpp deleted file mode 100644 index ed3ecbe..0000000 --- a/tables.cpp +++ /dev/null @@ -1,311 +0,0 @@ -/* - 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 "tables.hpp" -#include <string> -#include <vector> -#include <stdexcept> - -static const std::vector<const char*> language_names = { - "Unknown/not applicable", - "Albanian", - "Breton", - "Catalan", - "Croatian", - "Welsh", - "Czech", - "Danish", - "German", - "English", - "Spanish", - "Esperanto", - "Estonian", - "Basque", - "Faroese", - "French", - "Frisian", - "Irish", - "Gaelic", - "Galician", - "Icelandic", - "Italian", - "Lappish", - "Latin", - "Latvian", - "Luxembourgian", - "Lithuanian", - "Hungarian", - "Maltese", - "Dutch", - "Norwegian", - "Occitan", - "Polish", - "Portuguese", - "Romanian", - "Romansh", - "Serbian", - "Slovak", - "Slovene", - "Finnish", - "Swedish", - "Turkish", - "Flemish", - "Walloon", - "rfu", - "rfu", - "rfu", - "rfu", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Reserved for national assignment", - "Background sound/clean feed", - "rfu", - "rfu", - "rfu", - "rfu", - "Zulu", - "Vietnamese", - "Uzbek", - "Urdu", - "Ukranian", - "Thai", - "Telugu", - "Tatar", - "Tamil", - "Tadzhik", - "Swahili", - "Sranan Tongo", - "Somali", - "Sinhalese", - "Shona", - "Serbo-Croat", - "Rusyn", - "Russian", - "Quechua", - "Pushtu", - "Punjabi", - "Persian", - "Papiamento", - "Oriya", - "Nepali", - "Ndebele", - "Marathi", - "Moldavian", - "Malaysian", - "Malagasay", - "Macedonian", - "Laotian", - "Korean", - "Khmer", - "Kazakh", - "Kannada", - "Japanese", - "Indonesian", - "Hindi", - "Hebrew", - "Hausa", - "Gurani", - "Gujurati", - "Greek", - "Georgian", - "Fulani", - "Dari", - "Chuvash", - "Chinese", - "Burmese", - "Bulgarian", - "Bengali", - "Belorussian", - "Bambora", - "Azerbaijani", - "Assamese", - "Armenian", - "Arabic", - "Amharic", -}; - -const char* get_language_name(size_t language_code) -{ - if (language_code < language_names.size()) - { - return language_names[language_code]; - } - - throw std::runtime_error("Invalid language_code!"); -} - -// fig 0/18 0/19 announcement types (ETSI TS 101 756 V1.6.1 (2014-05) table 14 & 15) -const char *announcement_types_str[16] = { - "Alarm", - "Road Traffic flash", - "Transport flash", - "Warning/Service", - "News flash", - "Area weather flash", - "Event announcement", - "Special event", - "Programme Information", - "Sport report", - "Financial report", - "Reserved for future definition", - "Reserved for future definition", - "Reserved for future definition", - "Reserved for future definition", - "Reserved for future definition" -}; - -const char* get_announcement_type(size_t announcement_type) -{ - return announcement_types_str[announcement_type]; -} - - -// fig 0/17 Programme type codes -#define INTERNATIONAL_TABLE_SIZE 2 -#define PROGRAMME_TYPE_CODES_SIZE 32 -const char *Programme_type_codes_str[INTERNATIONAL_TABLE_SIZE][PROGRAMME_TYPE_CODES_SIZE] = { - { // ETSI TS 101 756 V1.6.1 (2014-05) table 12 - "No programme type", "News", - "Current Affairs", "Information", - "Sport", "Education", - "Drama", "Culture", - "Science", "Varied", - "Pop Music", "Rock Music", - "Easy Listening Music", "Light Classical", - "Serious Classical", "Other Music", - "Weather/meteorology", "Finance/Business", - "Children's programmes", "Social Affairs", - "Religion", "Phone In", - "Travel", "Leisure", - "Jazz Music", "Country Music", - "National Music", "Oldies Music", - "Folk Music", "Documentary", - "Not used", "Not used" - }, - { // ETSI TS 101 756 V1.6.1 (2014-05) table 13 - "No program type", "News", - "Information", "Sports", - "Talk", "Rock", - "Classic Rock", "Adult Hits", - "Soft Rock", "Top 40", - "Country", "Oldies", - "Soft", "Nostalgia", - "Jazz", "Classical", - "Rhythm and Blues", "Soft Rhythm and Blues", - "Foreign Language", "Religious Music", - "Religious Talk", "Personality", - "Public", "College", - "rfu", "rfu", - "rfu", "rfu", - "rfu", "Weather", - "Not used", "Not used" - } -}; - -const char* get_programme_type(size_t int_table_Id, size_t pty) -{ - if ((int_table_Id - 1) < INTERNATIONAL_TABLE_SIZE) { - if (pty < PROGRAMME_TYPE_CODES_SIZE) { - return Programme_type_codes_str[int_table_Id - 1][pty]; - } - else { - return "invalid programme type"; - } - } - else { - return "unknown international table Id"; - } -} - - -const char *DSCTy_types_str[64] = { - // ETSI TS 101 756 V1.6.1 (2014-05) table 2 - "Unspecified data", "Traffic Message Channel (TMC)", - "Emergency Warning System (EWS)", "Interactive Text Transmission System (ITTS)", - "Paging", "Transparent Data Channel (TDC)", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "MPEG-2 Transport Stream, see ETSI TS 102 427", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Rfu", - "Rfu", "Embedded IP packets", - "Multimedia Object Transfer (MOT)", "Proprietary service: no DSCTy signalled", - "Not used", "Not used" -}; - -const char* get_dscty_type(size_t dscty) -{ - return DSCTy_types_str[dscty]; -} - -// ETSI TS 102 367 V1.2.1 (2006-01) 5.4.1 Conditional Access Mode (CAMode) -// Used in FIG 0/3 -const char *CAMode_str[8] = { - "Sub-channel CA", "Data Group CA", - "MOT CA", "proprietary CA", - "reserved", "reserved", - "reserved", "reserved" -}; - -const char* get_ca_mode(size_t ca_mode) -{ - return CAMode_str[ca_mode]; -} - |