WSF
WsfUnclassBattleManager.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9/*******************************************************************************
10*
11* File: WsfUnclassBattleManager.hpp
12*
13* Classification: UNCLASSIFIED
14*
15* Details:
16*
17* Contract Number:
18* Contractor Name: Radiance Technologies
19* Address: 350 Wynn Drive
20* Huntsville, AL 35805
21*
22* Abstract:
23*
24*******************************************************************************/
25
26#ifndef WSF_UNCLASS_BATTLE_MANAGER_HPP
27#define WSF_UNCLASS_BATTLE_MANAGER_HPP
28
29#include <memory>
30
31#include <WsfBattleManager.hpp>
32#include <WsfInterceptCalc.hpp>
33
35#include <iadsLib/unclassifiedBattleManager.hpp>
36
37WsfProcessor* UninitializedWsfUnclassifiedBattleManager(WsfScenario& aScenario, const std::string& calling_context);
38
40{
41 public:
43 WsfUnclassifiedBattleManager(WsfScenario& aScenario, const std::shared_ptr<il::BattleManagerInterface>& bm);
44 WsfProcessor* Clone() const override;
45
46 // Plugin Interface
47 static WSF_IADS_C2_LIB_EXPORT void RegisterScriptTypes(WsfApplication* aApplicationPtr);
48 static WSF_IADS_C2_LIB_EXPORT WsfProcessor* Create(WsfScenario& aScenario);
49 static WSF_IADS_C2_LIB_EXPORT std::unique_ptr<WsfUnclassifiedBattleManager> CreateUnique(WsfScenario& aScenario);
50 // End Plugin Interface
51
52 bool ProcessInput(UtInput& aInput) override;
53
54 const char* GetScriptClassName() const override;
55
56 protected:
57 // Note: Copying the battle manager doesn't make sense becuase it needs to be initialized
58 // and that initialization is tied to a specific platform, processor, etc. However,
59 // the copy constructor is required because Clone() needs it in order to properly clone the
60 // object (albeit with no initialization tied to it). so we'll basically use it to get a
61 // copy of a cloned object that is yet to be initialized in order for the prototypical
62 // inheritance to work.
64
65 virtual bool ProcessCoreUnclassBMInput(UtInput& aInput);
66 virtual bool ProcessPrintSettings(UtInput& aInput);
67 virtual bool ProcessWeaponTable(UtInput& aInput);
68 virtual bool ProcessScoringfactors(UtInput& aInput);
69
70 private:
71 WsfUnclassifiedBattleManager& operator=(const WsfUnclassifiedBattleManager& rhs) = delete;
72};
73
74#endif
WsfProcessor * UninitializedWsfUnclassifiedBattleManager(WsfScenario &aScenario, const std::string &calling_context)
Definition WsfUnclassBattleManager.cpp:52
Definition WsfApplication.hpp:45
WsfBattleManager(WsfScenario &aScenario, const std::string &aPartClass=WsfScriptBattleManagerClass::SCRIPT_CLASS_NAME, const std::string &aPartVarName="PROCESSOR", const std::shared_ptr< il::BattleManagerInterface > &bm_component=std::make_shared< il::BattleManagerInterface >())
Definition WsfBattleManager.cpp:64
Definition WsfProcessor.hpp:39
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
static WSF_IADS_C2_LIB_EXPORT void RegisterScriptTypes(WsfApplication *aApplicationPtr)
Definition WsfUnclassBattleManager.cpp:91
virtual bool ProcessPrintSettings(UtInput &aInput)
Definition WsfUnclassBattleManager.cpp:179
virtual bool ProcessWeaponTable(UtInput &aInput)
Definition WsfUnclassBattleManager.cpp:224
WsfProcessor * Clone() const override
Definition WsfUnclassBattleManager.cpp:84
const char * GetScriptClassName() const override
Definition WsfUnclassBattleManager.cpp:130
WsfUnclassifiedBattleManager(WsfScenario &aScenario)
Definition WsfUnclassBattleManager.cpp:63
static WSF_IADS_C2_LIB_EXPORT WsfProcessor * Create(WsfScenario &aScenario)
Definition WsfUnclassBattleManager.cpp:104
bool ProcessInput(UtInput &aInput) override
Definition WsfUnclassBattleManager.cpp:114
virtual bool ProcessScoringfactors(UtInput &aInput)
Definition WsfUnclassBattleManager.cpp:238
static WSF_IADS_C2_LIB_EXPORT std::unique_ptr< WsfUnclassifiedBattleManager > CreateUnique(WsfScenario &aScenario)
Definition WsfUnclassBattleManager.cpp:109
virtual bool ProcessCoreUnclassBMInput(UtInput &aInput)
Definition WsfUnclassBattleManager.cpp:135
Copyrights Multiple, All Rights Reserved