VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
msdlHierarchyPropertyMappings.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
12 #include "vlpi/entityType.h"
13 
14 #include <string>
15 #include <map>
16 #include <set>
17 
18 class DtFilename;
19 
20 #define DtImportDataMergeMappings "DtImportDataMergeMappings"
21 
22 class DT_DLL_vrfutil DtSidcCode : public DtString
26 {
27 public:
28  DtSidcCode(const DtString&);
29  DtSidcCode(const DtSidcCode&);
30 
31  virtual ~DtSidcCode();
32 
33  virtual bool matches(const DtSidcCode&);
34  virtual bool matches(const std::string&);
35 };
36 
38 {
39 public:
40  typedef std::map<std::string, std::string> StringMap;
41  typedef std::map<std::string, int> StringIntMap;
42  typedef std::map<int, std::string> IntStringMap;
43 
44 public:
48 
51 
53 
55  virtual std::string mapHierarchyItemToSidc(const std::string& msdlHierarchy) const;
56 
58  virtual std::string mapSidcToName(const std::string& sidc) const;
59  virtual std::string mapSidcToHierarchyItem(const std::string& sidc) const;
60 
63  virtual void mapUnitSubcategoryToSidc(std::string& sidc, const DtEntityType& entType) const;
64 
68  virtual void mapUnitCategoryToSidc(std::string& sidc, const DtEntityType& entType) const;
69 
73  virtual std::string mapEntityTypeToSidc(const DtEntityType&) const;
74 
75  virtual int mapCountryCodeToDisEnumeration(const std::string&) const;
76 
82  virtual DtEntityType mapSidcToDisEnumeration(const std::string sidcCode, const std::string& countryCode = "US") const;
83 
86  virtual DtEntityType mapSidcToEntityType(const std::string&, const std::string& countryCode = "US") const;
87 
89  virtual DtEntityType mapSidcToTacticalGraphicType(const std::string& sidcCode, const std::string& symbolClass) const;
90 
92  virtual std::string mapCountryEnumerationToCountryCode(int) const;
93 
96  virtual std::string mapCountryCodeToCountryName(const std::string&) const;
97 
99  virtual bool loadMsdlSidcMappingsFile(const DtFilename&);
100 
102  virtual bool loadCountryCodesMappingFile(const DtFilename&);
103 
105  virtual bool save();
106 
108  virtual bool save(const DtFilename&);
109 
111  virtual void merge(const DtMsdlHierarchyPropertyMappings&);
112 
115  virtual std::string findClosestSidc(const std::string& source) const;
116 
117  virtual void addSidcCode(const std::string&);
118 
120  virtual void addToCountryCodeToCountryNameMapping(const std::string& countrycode, const std::string& countryname);
121 
123  virtual void addToHierarchyMapping(const std::string& enumeration, const std::string& sidcCode);
124 
126  virtual void addToNameMapping(const std::string& sidcCode, const std::string& name);
127 
129  virtual void addToDisMapping(const std::string& sidcCode, const std::string& entityType);
130 
132  virtual void addCountryCode(const std::string&, int);
133 
135  virtual void merge(StringMap&, const StringMap&);
136 
138  const StringMap& countryCodeToNameMap() const;
139 
141  const StringMap& sidcToNameMap() const;
142 
143 public:
151 
152  std::set<std::string> mySidcCodes;
153 
154  DtFilename myFile;
155 };
156 
157 namespace DtBufferSerialize
158 {
159  DT_DLL_vrfutil char *encode(const DtMsdlHierarchyPropertyMappings& val, char *buffer);
160  DT_DLL_vrfutil const char *decode(DtMsdlHierarchyPropertyMappings& val, const char *buffer);
162 
165 };
StringMap myCountryCodeToCountryName
Definition: msdlHierarchyPropertyMappings.h:148
StringMap myHierarchyItemToSidc
Definition: msdlHierarchyPropertyMappings.h:144
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
StringIntMap myCountryCodes
Definition: msdlHierarchyPropertyMappings.h:149
DT_DLL_vrfutil void decodeFromImportData(DtMsdlHierarchyPropertyMappings &, const std::string &)
StringMap mySidcToHierarchyItem
Definition: msdlHierarchyPropertyMappings.h:145
std::map< std::string, std::string > StringMap
Definition: msdlHierarchyPropertyMappings.h:40
std::map< std::string, int > StringIntMap
Definition: msdlHierarchyPropertyMappings.h:41
This class will load up a strictly formatted properties file to map MSDL hierarchy codes to SIDC code...
Definition: msdlHierarchyPropertyMappings.h:25
Definition: msdlHierarchyPropertyMappings.h:37
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
IntStringMap myCountryEnumerationCodes
Definition: msdlHierarchyPropertyMappings.h:150
const char * source
Definition: lz4.h:436
DT_DLL_vrfutil std::string encodeForImportData(const DtMsdlHierarchyPropertyMappings &)
DtFilename myFile
Definition: msdlHierarchyPropertyMappings.h:154
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
std::set< std::string > mySidcCodes
Definition: msdlHierarchyPropertyMappings.h:152
StringMap mySidcToName
Definition: msdlHierarchyPropertyMappings.h:146
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
StringMap mySidcToDisEnumeration
Definition: msdlHierarchyPropertyMappings.h:147
std::map< int, std::string > IntStringMap
Definition: msdlHierarchyPropertyMappings.h:42

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)