WSF
wsf::cyber::Protect::ProtectedAttack Class Reference

#include <WsfCyberProtect.hpp>

Inheritance diagram for wsf::cyber::Protect::ProtectedAttack:
Collaboration diagram for wsf::cyber::Protect::ProtectedAttack:

Public Member Functions

 ~ProtectedAttack () override=default
bool ProcessInput (UtInput &aInput, WsfScriptContext &aContext)
Public Member Functions inherited from WsfNamed
 WsfNamed ()
 WsfNamed (WsfStringId aName)
 WsfNamed (const WsfNamed &)=default
WsfNamedoperator= (const WsfNamed &)=default
virtual ~WsfNamed ()=default
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Public Attributes

double mScanDetection {0.0}
double mScanAttribution {0.0}
double mAttackSuccess {1.0}
double mStatusReport {0.0}
double mAttackDetection {0.0}
double mAttackAttribution {0.0}
double mImmunity {0.0}
WsfRandomVariable mDetectionDelay {WsfRandomVariable::cCONSTANT, 0, 0, WsfRandomVariable::cNON_NEGATIVE}
WsfRandomVariable mRecoveryDelay {WsfRandomVariable::cCONSTANT, 0, 0, WsfRandomVariable::cNON_NEGATIVE}
bool mRestore {false}
UtScript * mOnAttackDetection {nullptr}
UtScript * mOnAttackRecovery {nullptr}
UtScript * mOnScanDetection {nullptr}
UtScript * mIsVulnerable {nullptr}

Detailed Description

A container class for storing the specific parameters for each attack protected against. Placed here as the implementation shouldn't be visible outside of WsfCyberProtect or its derived classes

Constructor & Destructor Documentation

◆ ~ProtectedAttack()

wsf::cyber::Protect::ProtectedAttack::~ProtectedAttack ( )
overridedefault

References ProcessInput().

Member Function Documentation

◆ ProcessInput()

Member Data Documentation

◆ mAttackAttribution

double wsf::cyber::Protect::ProtectedAttack::mAttackAttribution {0.0}

Referenced by ProcessInput().

◆ mAttackDetection

double wsf::cyber::Protect::ProtectedAttack::mAttackDetection {0.0}

Referenced by ProcessInput().

◆ mAttackSuccess

double wsf::cyber::Protect::ProtectedAttack::mAttackSuccess {1.0}

Referenced by ProcessInput().

◆ mDetectionDelay

WsfRandomVariable wsf::cyber::Protect::ProtectedAttack::mDetectionDelay {WsfRandomVariable::cCONSTANT, 0, 0, WsfRandomVariable::cNON_NEGATIVE}
mutable

Referenced by ProcessInput().

◆ mImmunity

double wsf::cyber::Protect::ProtectedAttack::mImmunity {0.0}

Referenced by ProcessInput().

◆ mIsVulnerable

UtScript* wsf::cyber::Protect::ProtectedAttack::mIsVulnerable {nullptr}

Referenced by ProcessInput().

◆ mOnAttackDetection

UtScript* wsf::cyber::Protect::ProtectedAttack::mOnAttackDetection {nullptr}

Referenced by ProcessInput().

◆ mOnAttackRecovery

UtScript* wsf::cyber::Protect::ProtectedAttack::mOnAttackRecovery {nullptr}

Referenced by ProcessInput().

◆ mOnScanDetection

UtScript* wsf::cyber::Protect::ProtectedAttack::mOnScanDetection {nullptr}

Referenced by ProcessInput().

◆ mRecoveryDelay

WsfRandomVariable wsf::cyber::Protect::ProtectedAttack::mRecoveryDelay {WsfRandomVariable::cCONSTANT, 0, 0, WsfRandomVariable::cNON_NEGATIVE}
mutable

Referenced by ProcessInput().

◆ mRestore

bool wsf::cyber::Protect::ProtectedAttack::mRestore {false}

Referenced by ProcessInput().

◆ mScanAttribution

double wsf::cyber::Protect::ProtectedAttack::mScanAttribution {0.0}

Referenced by ProcessInput().

◆ mScanDetection

double wsf::cyber::Protect::ProtectedAttack::mScanDetection {0.0}

These are all public, as they should only be accessed within the WsfCyberProtect class, and an interface is overkill

Referenced by ProcessInput().

◆ mStatusReport

double wsf::cyber::Protect::ProtectedAttack::mStatusReport {0.0}

Referenced by ProcessInput().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved