WSF
WsfCyberObserver.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 WSFCYBEROBSERVER_HPP
13#define WSFCYBEROBSERVER_HPP
14
15#include "wsf_cyber_export.h"
16
17#include "UtCallback.hpp"
18class WsfSimulation;
19
20namespace wsf
21{
22namespace cyber
23{
24
25class Engagement;
26
27namespace trigger
28{
29
30class Trigger;
31
32} // namespace trigger
33} // namespace cyber
34} // namespace wsf
35
37namespace WsfObserver
38{
39using CyberCallback = UtCallbackListN<void(double, const wsf::cyber::Engagement&)>;
40using CyberTriggerEvaluationCallback = UtCallbackListN<void(double, const wsf::cyber::trigger::Trigger&, bool)>;
41using CyberTriggerExecutionCallback = UtCallbackListN<void(double, const wsf::cyber::trigger::Trigger&)>;
42
43WSF_CYBER_EXPORT CyberCallback& CyberAttackInitiated(const WsfSimulation* aSimulationPtr);
44WSF_CYBER_EXPORT CyberCallback& CyberAttackSucceeded(const WsfSimulation* aSimulationPtr);
45WSF_CYBER_EXPORT CyberCallback& CyberAttackFailed(const WsfSimulation* aSimulationPtr);
46WSF_CYBER_EXPORT CyberCallback& CyberAttackDetected(const WsfSimulation* aSimulationPtr);
47WSF_CYBER_EXPORT CyberCallback& CyberAttackAttributed(const WsfSimulation* aSimulationPtr);
48WSF_CYBER_EXPORT CyberCallback& CyberAttackRecovery(const WsfSimulation* aSimulationPtr);
49WSF_CYBER_EXPORT CyberCallback& CyberScanInitiated(const WsfSimulation* aSimulationPtr);
50WSF_CYBER_EXPORT CyberCallback& CyberScanSucceeded(const WsfSimulation* aSimulationPtr);
51WSF_CYBER_EXPORT CyberCallback& CyberScanFailed(const WsfSimulation* aSimulationPtr);
52WSF_CYBER_EXPORT CyberCallback& CyberScanDetected(const WsfSimulation* aSimulationPtr);
53WSF_CYBER_EXPORT CyberCallback& CyberScanAttributed(const WsfSimulation* aSimulationPtr);
55WSF_CYBER_EXPORT CyberTriggerExecutionCallback& CyberTriggerExecution(const WsfSimulation* aSimulationPtr);
56
57} // namespace WsfObserver
58
59namespace wsf
60{
61namespace cyber
62{
63
80
81} // namespace cyber
82} // namespace wsf
83
84#endif
The main controller for a simulation.
Definition WsfSimulation.hpp:109
A class that represents the cyber engagements between two platforms.
Definition WsfCyberEngagement.hpp:37
Observer definitions for cyber events.
Definition WsfAdvancedBehaviorObserver.hpp:22
WSF_CYBER_EXPORT CyberCallback & CyberScanAttributed(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackInitiated(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberScanDetected(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberTriggerExecutionCallback & CyberTriggerExecution(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackRecovery(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberScanSucceeded(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackFailed(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackSucceeded(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackAttributed(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberAttackDetected(const WsfSimulation *aSimulationPtr)
UtCallbackListN< void(double, const wsf::cyber::trigger::Trigger &, bool)> CyberTriggerEvaluationCallback
Definition WsfCyberObserver.hpp:40
UtCallbackListN< void(double, const wsf::cyber::Engagement &)> CyberCallback
Definition WsfCyberObserver.hpp:39
WSF_CYBER_EXPORT CyberCallback & CyberScanInitiated(const WsfSimulation *aSimulationPtr)
WSF_CYBER_EXPORT CyberCallback & CyberScanFailed(const WsfSimulation *aSimulationPtr)
UtCallbackListN< void(double, const wsf::cyber::trigger::Trigger &)> CyberTriggerExecutionCallback
Definition WsfCyberObserver.hpp:41
WSF_CYBER_EXPORT CyberTriggerEvaluationCallback & CyberTriggerEvaluation(const WsfSimulation *aSimulationPtr)
Definition WsfCyberEventResult.hpp:26
Definition WsfCyberApplicationExtension.cpp:24
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfCyberObserver.hpp:65
WsfObserver::CyberCallback CyberAttackRecovery
A cyber attack has been attributed by the victim.
Definition WsfCyberObserver.hpp:71
WsfObserver::CyberCallback CyberAttackAttributed
A cyber attack has been detected by the victim.
Definition WsfCyberObserver.hpp:70
WsfObserver::CyberTriggerExecutionCallback CyberTriggerExecution
A cyber trigger is evaluating.
Definition WsfCyberObserver.hpp:78
WsfObserver::CyberCallback CyberScanSucceeded
A cyber scan has been initiated.
Definition WsfCyberObserver.hpp:73
WsfObserver::CyberCallback CyberScanInitiated
The victim of a cyber attack has recovered from the attack.
Definition WsfCyberObserver.hpp:72
WsfObserver::CyberCallback CyberScanAttributed
A cyber scan has been detected.
Definition WsfCyberObserver.hpp:76
WsfObserver::CyberCallback CyberAttackSucceeded
A cyber attack has been initiated.
Definition WsfCyberObserver.hpp:67
WsfObserver::CyberCallback CyberScanDetected
A cyber scan has failed.
Definition WsfCyberObserver.hpp:75
WsfObserver::CyberCallback CyberAttackFailed
A cyber attack has succeeded.
Definition WsfCyberObserver.hpp:68
WsfObserver::CyberTriggerEvaluationCallback CyberTriggerEvaluation
A cyber scan has been attributed.
Definition WsfCyberObserver.hpp:77
WsfObserver::CyberCallback CyberScanFailed
A cyber scan has succeeded.
Definition WsfCyberObserver.hpp:74
WsfObserver::CyberCallback CyberAttackDetected
A cyber attack has failed.
Definition WsfCyberObserver.hpp:69
WsfObserver::CyberCallback CyberAttackInitiated
Definition WsfCyberObserver.hpp:66
Copyrights Multiple, All Rights Reserved