djiparsetxt
InterpretationTable.cpp
Go to the documentation of this file.
1 /**********
2 This program is free software: you can redistribute it and/or modify
3 it under the terms of the GNU General Public License as published by
4 the Free Software Foundation, either version 3 of the License, or
5 (at your option) any later version.
6 
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
11 
12 You should have received a copy of the GNU General Public License
13 along with this program. If not, see <http://www.gnu.org/licenses/>.
14 **********/
15 /*
16  A C++ program to parse DJI's ".txt" log files (recorded by the "DJI Go 4" app).
17  Version 2021-05-20
18 
19  Copyright (c) 2021 Live Networks, Inc. All rights reserved.
20  For the latest version of this program (and more information), visit http://djilogs.live555.com
21 
22  A database that maps integer values into a textual description.
23  Implementation.
24 */
25 
26 #include "InterpretationTable.hh"
27 #include <string.h>
28 
29 InterpretationTable::InterpretationTable(char const* defaultResultString)
30 : fDefaultResultString(strdup(defaultResultString == NULL ? "" : defaultResultString)) {
31 }
32 
34  delete[] fDefaultResultString;
35 }
36 
37 void InterpretationTable::add(u_int32_t intValue, char const* strValue) {
38  fUMap[intValue] = strValue;
39 }
40 
41 char const* InterpretationTable::lookup(u_int32_t intValue) {
42  char const* mapLookupResult = fUMap[intValue];
43  if (mapLookupResult == NULL) return fDefaultResultString;
44  return mapLookupResult;
45 }
InterpretationTable(char const *defaultResultString=NULL)
char const * fDefaultResultString
std::unordered_map< u_int32_t, char const * > fUMap
void add(u_int32_t intValue, char const *strValue)
char const * lookup(u_int32_t intValue)