14 #include <libxml/xmlmemory.h>
15 #include <libxml/parser.h>
16 #include <matrix/vlVector.h>
17 #include <vlpi/entityType.h>
32 #define DtImportDataSetCountryForForce "DtImportDataSetCountryForForce"
52 std::map<std::string, DtMsdlScenarioContentsItem>
myChildren;
94 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
112 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
138 std::map<std::string, DtMsdlScenarioContentsItem>
myContents;
177 virtual bool loadScenarioDescription(
const DtFilename& file,
const std::map<std::string, std::string>& importData,
211 virtual std::string findValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
212 virtual std::map<std::string, std::string>
213 findStdMapValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path,
214 const std::set<std::string>& ignore = std::set<std::string>())
const;
215 virtual bool hasValue(
const std::map<std::string, DtMsdlScenarioContentsItem>&,
const std::string& path)
const;
218 virtual std::string convertMapToString(
const std::map<std::string, std::string>&)
const;
221 virtual bool organizationUsesForce(
Msdl_UUID)
const;
231 virtual std::string pad(
int)
const;
234 virtual bool parseMilitaryScenario(xmlNodePtr,
const std::map<std::string, std::string>& importData);
237 virtual bool parseScenarioID(xmlNodePtr,
const std::map<std::string, std::string>& importData);
240 virtual bool parseOptions(xmlNodePtr,
const std::map<std::string, std::string>& importData);
243 virtual bool parseEnvironment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
247 virtual bool parseForces(xmlNodePtr,
const std::map<std::string, std::string>& importData);
250 virtual bool parseForce(xmlNodePtr,
const std::map<std::string, std::string>& importData);
253 virtual bool parsePOC(xmlNodePtr);
256 virtual std::string content(xmlNodePtr)
const;
259 virtual bool parseAssociations(xmlNodePtr,
Associations&);
262 virtual bool parseAssociation(xmlNodePtr,
Associations&);
266 virtual bool parseOrganizations(xmlNodePtr,
const std::map<std::string, std::string>& importData);
271 virtual bool parseUnits(xmlNodePtr,
const std::map<std::string, std::string>& importData);
276 virtual bool parseUnit(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlSimulatedElement& unit);
279 virtual bool parseEquipmentItem(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlSimulatedElement& unit);
291 virtual bool parseEquipment(xmlNodePtr,
const std::map<std::string, std::string>& importData);
301 virtual bool parseOverlays(xmlNodePtr,
const std::map<std::string, std::string>& importData);
304 virtual bool parseOverlay(xmlNodePtr,
const std::map<std::string, std::string>& importData,
DtMsdlOverlayLayer&);
308 virtual bool parseTacticalGraphics(xmlNodePtr,
const std::map<std::string, std::string>& importData);
315 virtual std::vector<DtMSDLVector> parseAnchorPoints(xmlNodePtr,
const std::map<std::string, std::string>& importData);
318 virtual DtMSDLVector parseAnchorPoint(xmlNodePtr,
const std::map<std::string, std::string>& importData);
336 virtual void convertFlatOrganizationToOrganizationHierarchy();
339 virtual std::string enumerationForUnit(
const std::string& symbolIdentifier,
const DtMsdlSimulatedElement&);
344 virtual int forceTypeFromName(
const std::string&,
int curForce,
const std::map<std::string, std::string>&)
const;
347 virtual std::string countryCodeForForce(
Msdl_UUID forceHandle)
const;
350 virtual void saveScenarioId(std::ostream&,
const DtScenario&)
const;
353 virtual void saveOptions(std::ostream&)
const;
356 virtual void saveEnvironment(std::ostream&)
const;
359 virtual void saveForceSides(std::ostream&)
const;
365 virtual void saveOverlayLayers(std::ostream&)
const;
369 virtual void saveTacticalGraphics(std::ostream&)
const;
374 virtual void saveAnchorPoint(std::ostream&,
const DtVector&,
int indent)
const;
377 virtual void saveOrganizations(std::ostream&)
const;
380 virtual void saveUnits(std::ostream&)
const;
388 virtual void saveLocation(std::ostream&,
const DtMSDLVector&,
int indent)
const;
419 virtual void saveEquipment(std::ostream&)
const;
424 virtual void finalize();
444 namespace DtBufferSerialize
446 template <
typename _Key,
typename _Value>
457 for (i = 0; i <
size; i++)
459 encoded += (buf[i] + 1);
467 template <
typename _Key,
typename _Value>
470 int iLimit = s.size(), i;
471 char*
buf =
new char[iLimit];
473 for (i = 0; i < iLimit; i++)