WSF
WsfCyberScenarioExtension.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2016 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFCYBERSCENARIOEXTENSION_HPP
13#define WSFCYBERSCENARIOEXTENSION_HPP
14
15#include "wsf_cyber_export.h"
16
17#include <string>
18
21#include "effects/WsfCyberEffect.hpp"
22
23namespace wsf
24{
25namespace cyber
26{
27class AttackTypes;
28class EffectTypes;
29class ProtectTypes;
30class TriggerTypes;
31
33class WSF_CYBER_EXPORT ScenarioExtension : public WsfScenarioExtension
34{
35public:
36 static ScenarioExtension& Get(const WsfScenario& aScenario);
37
38 void AddedToScenario() override;
39 bool ProcessInput(UtInput& aInput) override;
40 void SimulationCreated(WsfSimulation& aSimulation) override;
41
46 TriggerTypes& GetTriggerTypes() const { return *mTriggerTypesPtr; }
47
51
52 bool GetAttackTypeExists(const std::string& aNamedAttack) const;
53 bool GetEffectTypeExists(const std::string& aNamedEffect) const;
54 bool GetProtectTypeExists(const std::string& aNamedProtection) const;
55 bool GetTriggerTypeExists(const std::string& aNamedTrigger) const;
56 bool GetConstraintTypesExists(const std::string& aNamedConstraint) const;
58
63 bool GetAttackTypeInputRequirement(const std::string& aNamedAttack, Effect::InputRequirement aRequirement) const;
64
65 bool IsDrawEnabled() const { return mDrawEnabled; }
66
71 TriggerTypes* mTriggerTypesPtr;
72 bool mDrawEnabled{false};
73};
74
75} // namespace cyber
76} // namespace wsf
77
78#endif
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
friend class WsfScenario
Definition WsfScenarioExtension.hpp:39
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfCyberAttackTypes.hpp:24
Definition WsfCyberConstraintTypes.hpp:23
Definition WsfCyberEffectTypes.hpp:24
Definition WsfCyberProtectTypes.hpp:24
The WSF scenario extension for cyber.
Definition WsfCyberScenarioExtension.hpp:34
bool mDrawEnabled
Definition WsfCyberScenarioExtension.hpp:72
EffectTypes * mEffectTypesPtr
Definition WsfCyberScenarioExtension.hpp:68
TriggerTypes & GetTriggerTypes() const
Definition WsfCyberScenarioExtension.hpp:46
TriggerTypes * mTriggerTypesPtr
Definition WsfCyberScenarioExtension.hpp:71
ProtectTypes * mProtectTypesPtr
Definition WsfCyberScenarioExtension.hpp:69
AttackTypes & GetAttackTypes() const
Definition WsfCyberScenarioExtension.hpp:42
ConstraintTypes & GetConstraintTypes() const
Definition WsfCyberScenarioExtension.hpp:45
ProtectTypes & GetProtectTypes() const
Definition WsfCyberScenarioExtension.hpp:44
AttackTypes * mAttackTypesPtr
Definition WsfCyberScenarioExtension.hpp:67
bool ProcessInput(UtInput &aInput) override
Definition WsfCyberScenarioExtension.cpp:76
bool IsDrawEnabled() const
Definition WsfCyberScenarioExtension.hpp:65
void AddedToScenario() override
Definition WsfCyberScenarioExtension.cpp:41
static ScenarioExtension & Get(const WsfScenario &aScenario)
Return a reference to the cyber scenario extension.
Definition WsfCyberScenarioExtension.cpp:34
void SimulationCreated(WsfSimulation &aSimulation) override
Definition WsfCyberScenarioExtension.cpp:98
EffectTypes & GetEffectTypes() const
Definition WsfCyberScenarioExtension.hpp:43
ConstraintTypes * mConstraintTypesPtr
Definition WsfCyberScenarioExtension.hpp:70
Definition WsfCyberApplicationExtension.cpp:24
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved