2 Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 enum DisplayStandard {
26 DISPLAY_STANDARD_UNDEFINED,
27 DISPLAY_STANDARD_OPEN_SUBTITLING,
28 DISPLAY_STANDARD_LEVEL_1_TELETEXT,
29 DISPLAY_STANDARD_LEVEL_2_TELETEXT
34 LANGUAGE_GROUP_LATIN_CYRILLIC,
35 LANGUAGE_GROUP_LATIN_ARABIC,
36 LANGUAGE_GROUP_LATIN_GREEK,
37 LANGUAGE_GROUP_LATIN_HEBREW
66 LANGUAGE_LUXEMBORGIAN,
91 LANGUAGE_BIELORUSSIAN,
128 LANGUAGE_SERBO_CROAT,
132 LANGUAGE_SRANAN_TONGO,
146 enum TimecodeStatus {
147 TIMECODE_STATUS_NOT_INTENDED_FOR_USE,
148 TIMECODE_STATUS_INTENDED_FOR_USE
151 enum CumulativeStatus {
152 CUMULATIVE_STATUS_NOT_CUMULATIVE,
153 CUMULATIVE_STATUS_FIRST,
154 CUMULATIVE_STATUS_INTERMEDIATE,
155 CUMULATIVE_STATUS_LAST
161 JUSTIFICATION_CENTRE,
178 STLBinaryCode (T v, std::string d)
184 std::string description;
187 class STLBinaryTables
192 DisplayStandard display_standard_file_to_enum (std::string) const;
193 LanguageGroup language_group_file_to_enum (std::string) const;
194 Language language_file_to_enum (std::string) const;
195 TimecodeStatus timecode_status_file_to_enum (std::string) const;
196 CumulativeStatus cumulative_status_file_to_enum (int) const;
197 Justification justification_file_to_enum (int) const;
198 Comment comment_file_to_enum (int) const;
200 std::string language_enum_to_file (Language) const;
201 int cumulative_status_enum_to_file (CumulativeStatus) const;
202 int justification_enum_to_file (Justification) const;
203 int comment_enum_to_file (Comment) const;
205 std::string display_standard_enum_to_description (DisplayStandard) const;
206 std::string language_group_enum_to_description (LanguageGroup) const;
207 std::string language_enum_to_description (Language) const;
208 std::string timecode_status_enum_to_description (TimecodeStatus) const;
209 std::string cumulative_status_enum_to_description (CumulativeStatus) const;
210 std::string justification_enum_to_description (Justification) const;
211 std::string comment_enum_to_description (Comment) const;
214 std::map<std::string, STLBinaryCode<DisplayStandard> > _display_standard_map;
215 std::map<std::string, STLBinaryCode<LanguageGroup> > _language_group_map;
216 std::map<std::string, STLBinaryCode<Language> > _language_map;
217 std::map<std::string, STLBinaryCode<TimecodeStatus> > _timecode_status_map;
218 std::map<int, STLBinaryCode<CumulativeStatus> > _cumulative_status_map;
219 std::map<int, STLBinaryCode<Justification> > _justification_map;
220 std::map<int, STLBinaryCode<Comment> > _comment_map;