VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfConfigurationFileComposer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vlutil/vlFilename.h>
13 #include <vlutil/vlHashlist.h>
14 #include <vlutil/vlHashKeys.h>
15 #include <vlutil/vlList.h>
16 #include <vl/hostStructs.h>
17 #include "vrfutil/addressMap.h"
19 #include "vrfutil/scenario.h"
20 #include "vrfutil/backendMap.h"
21 
23 
25 {
26 public:
27 
30 
33 
35  virtual bool init();
36 
38  virtual bool readObjectMap(const DtFilename& objectMap);
39  virtual bool readObjectMapFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& objectMap);
40 
43  virtual std::set<DtSimulationAddress> scenarioBackends() const;
44 
46  virtual DtBackendMap* backendMap();
47 
49  virtual DtAddressMap* objectMap();
50 
53  virtual bool composeOrderOfBattleFile(
54  const DtFilename& targetFileName, const DtList& files, DtString& sError, void* zf = 0);
55 
57  virtual bool saveOrderOfBattleToZipFile(
58  const DtFilename& targetFileName, const DtList& files, DtString& sError, void* zf = 0);
59 
60  virtual bool saveOrderOfBattleToFile(
61  const DtFilename& targetFileName, const DtList& files, DtString& sError);
62 
66  virtual bool composeScenarioScriptsFile(
67  const DtFilename& targetFileName, const DtString& files, void* zf = 0);
68 
72  virtual bool composeOrbatFile(
73  const DtFilename& targetFileName, const DtString& files, void* zf = 0);
74 
77  virtual bool composePlanFile(
78  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
79 
82  virtual bool composeHostilityFile(
83  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
84 
87  virtual bool composeScenarioExtrasFile(
88  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
89 
90 
92  virtual bool createMapFile(
93  const DtFilename& targetFileName,
94  const DtList& simAddresses, const DtList& oobFiles,
95  const DtList& planFiles,
96  bool preserveMappings = true, void* zf = 0);
97 
98  std::vector<DtFilename>& customComponentAttachmentFilenames();
99  const std::vector<DtFilename>& customComponentAttachmentFilenames() const;
108  virtual bool decompose(const DtFilename& orderOfBattle,
109  const DtFilename& plan, const DtFilename& globalPlan, bool& hasGlobalWeatherObject,
110  bool& hasGlobalDynamicTerrainObject);
111  virtual bool decomposeFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& orderOfBattle,
112  const DtFilename& plan, const DtFilename& globalPlan, bool& hasGlobalWeatherObject,
113  bool& hasGlobalDynamicTerrainObject);
114 
117  virtual bool decomposeScenarioScriptsFile(const DtFilename&);
118  virtual bool decomposeScenarioScriptsFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& scriptsFile);
119 
122  virtual bool decomposeOrbatFile(const DtFilename&);
123  virtual bool decomposeOrbatFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& orbatFile);
124 
127  virtual bool decomposeComponentAttachmentFile(const DtFilename& originalFile,
128  unsigned numBackends);
130 
131  virtual DtFilename* getOrderOfBattleFile(
132  const DtSimulationAddress& addr) const;
133  virtual DtFilename* getScenarioScriptsFile(const DtSimulationAddress& addr) const;
134  virtual DtFilename* getOrbatFile(const DtSimulationAddress& addr) const;
135  virtual DtFilename* getPlanFile(
136  const DtSimulationAddress& addr) const;
137  virtual DtFilename* getGlobalPlanFile(const DtSimulationAddress& addr) const;
139 
140  virtual const DtFilename& getComponentAttachmentFile(unsigned idx) const;
141 
144  virtual const DtFilename& tempDirectory();
145  virtual void setTempDirectory(const DtFilename& f);
146 
148  virtual void setFilePrefix(const DtString&);
149  virtual const DtString& filePrefix() const;
150 
151 protected:
152  virtual bool storeFileInZipFile(void* zf, const DtFilename& sourceFile, const DtFilename& destFile);
153  virtual bool storeStringInZipFile(void* zf, const DtString&, const DtFilename& target);
154 
155 protected:
156 
157  virtual void clear();
158  virtual bool createBackendFiles(
159  const DtFilename& origFileName,
160  DtHashList& createdFiles, const char* prefix = "(\n",
161  bool* hasGlobalWeatherObject = 0, bool* hasGlobalDynamicTerrainObject = 0);
162  virtual bool createBackendFilesFromZip(const DtFilename& zipFile,
163  const DtFilename& origFileName,
164  DtHashList& createdFiles, const char* prefix = "(\n",
165  bool* hasGlobalWeatherObject = 0, bool* hasGlobalDynamicTerrainObject = 0);
166  virtual bool finalizeBackendFilesParse(const DtFilename& origFileName,
167  DtHashlist& createdFiles, const char* prefix,
168  bool* hasGlobalWeatherObject, bool* hasGlobalDynamicTerrainObject = 0);
169 
172  virtual bool composePlanFileBody(FILE* fp, const DtList& files);
173  virtual bool composePlanFileBody(DtString& fp, const DtList& files);
174 
176  virtual bool fastProcess(const DtFilename& fullname, FILE* fp, DtString* returnBuffer, int& size);
177 
179  virtual bool fastProcessPlanFileBody(const DtFilename& fullname, FILE* fp, DtString* returnBuffer, int& size);
180 
181 protected:
186  DtHashlist myAddr2FileMap;
187  DtHashlist myCreatedPlnFiles;
188  DtHashlist myCreatedOobFiles;
191  std::vector<DtFilename> myCreatedComponentAttachmentFiles;
192  DtFilename myTempDirectory;
195  DtFilename* myOrbatFile;
197 
201 };
202 
204 {
206 }
207 
208 inline const std::vector<DtFilename>& DtVrfConfigurationFileComposer::customComponentAttachmentFilenames() const
209 {
211 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)