VR-Forces 4.0.4 Class Documentation
include/vrfcontrol/vrfConfigComp.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2002 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfConfigComp.h,v $ $Revision: 1.18 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtVrfFileReader_H_
00013 #define DtVrfFileReader_H_
00014 
00015 #include <vlutil/vlFilename.h>
00016 #include <vlutil/vlHashlist.h>
00017 #include <vlutil/vlHashKeys.h>
00018 #include <vlutil/vlList.h>
00019 #include <vl/hostStructs.h>
00020 #include "vrfutil/addrMap.h"
00021 #include "vrfcontrol/vrfFileParser.h"
00022 #include "vrfutil/scenario.h"
00023 #include "vrfutil/backendMap.h"
00024 
00026 
00027 #include "vrfcontrol/vrfcontrolDefines.h"
00028 class DT_DLL_vrfcontrol DtVrfConfigurationFileComposer
00029 {
00030 public:
00031 
00033    DtVrfConfigurationFileComposer();
00034 
00036    virtual ~DtVrfConfigurationFileComposer();
00037 
00039    virtual bool init();
00040    
00042    virtual bool readObjectMap(DtFilename objectMap);   
00043 
00046    virtual const DtList& scenarioBackends() const;
00047 
00049    virtual DtBackendMap* backendMap();
00050    
00052    virtual DtAddressMap* objectMap();
00053    
00056    virtual bool composeOrderOfBattleFile(
00057       const DtFilename& targetFileName, const DtList& files);
00058 
00061    virtual bool composePlanFile(
00062       const DtFilename& targetFileName, const DtList& files);
00063 
00066    virtual bool composeGlobalPlanFile(
00067       const DtFilename& targetFileName, const DtList& files);
00068 
00071    virtual bool composeHostilityFile(
00072       const DtFilename& targetFileName, const DtList& files);
00073 
00076    virtual bool composeScenarioExtrasFile(
00077       const DtFilename& targetFileName, const DtList& files);
00078  
00079 
00081    virtual bool createMapFile(
00082       const DtFilename& targetFileName, 
00083       const DtList& simAddresses, const DtList& oobFiles,
00084       const DtList& planFiles, const DtList& globalPlanFiles,
00085       bool preserveMappings = true);
00086 
00087    std::vector<DtFilename>& customComponentAttachmentFilenames();
00088    const std::vector<DtFilename>& customComponentAttachmentFilenames() const;
00097    virtual bool decompose(const DtFilename& orderOfBattle, 
00098       const DtFilename& plan, const DtFilename& globalPlan);
00099 
00102    virtual bool decomposeComponentAttachmentFile(const DtFilename& originalFile,
00103       unsigned numBackends);
00105 
00106    virtual DtFilename* getOrderOfBattleFile(
00107       const DtSimulationAddress& addr) const;
00108    virtual DtFilename* getPlanFile(
00109       const DtSimulationAddress& addr) const;
00110    virtual DtFilename* getGlobalPlanFile(const DtSimulationAddress& addr) const;
00112 
00113    virtual const DtFilename& getComponentAttachmentFile(unsigned idx) const;
00114 
00117    virtual const DtFilename& tempDirectory();
00118    virtual void setTempDirectory(const DtFilename& f);
00119 
00120 protected:
00121 
00122    virtual void clear();
00123    virtual bool createBackendFiles(
00124       const DtFilename& origFileName, 
00125       DtHashList& createdFiles, const char* prefix = "(\n");
00126 
00129    virtual bool composePlanFileBody(FILE* fp, const DtList& files);
00130 
00131 
00132 protected:
00133    DtBackendMap* myBackendMap;
00134    DtAddressMap* myObjectMap;
00135    DtAddressMap* myOriginalObjectMap;
00136    DtVrfFileParser myParser;
00137    DtHashlist myAddr2FileMap;
00138    DtHashlist myCreatedPlnFiles;
00139    DtHashlist myCreatedOobFiles;
00140    DtHashlist myCreatedGlobalPlanFiles;
00141    DtHashlist myCreatedHostilityFiles;
00142    std::vector<DtFilename> myCreatedComponentAttachmentFiles;
00143    DtFilename myTempDirectory;
00144    DtList myRequiredBackendAddrs;
00145 
00148    static const char theUnknownMappingName[];
00149 };
00150 
00151 inline std::vector<DtFilename>& DtVrfConfigurationFileComposer::customComponentAttachmentFilenames()
00152 {
00153    return (myCreatedComponentAttachmentFiles);
00154 }
00155 
00156 inline const std::vector<DtFilename>& DtVrfConfigurationFileComposer::customComponentAttachmentFilenames() const
00157 {
00158    return (myCreatedComponentAttachmentFiles);
00159 }
00160 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)