WSF
WsfCyberEventResult.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 2019 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 WSFCYBEREVENTRESULT_HPP
13#define WSFCYBEREVENTRESULT_HPP
14
15#include "wsf_cyber_export.h"
16
17#include "WsfEventResult.hpp"
18
19namespace wsf
20{
21namespace cyber
22{
23class Engagement;
24
25namespace trigger
26{
27class Trigger;
28
29} // namespace trigger
30} // namespace cyber
31
32namespace event
33{
34
35// ===================================================================================================
36class WSF_CYBER_EXPORT CyberResult : public Result
37{
38public:
39 CyberResult() = default;
40 CyberResult(double aSimTime, const cyber::Engagement& aEngagement, Settings aSettings, std::string aEventName)
41 : Result(aSimTime, std::move(aSettings), std::move(aEventName))
42 , mEngagement(aEngagement)
43 {
44 }
45
46 const cyber::Engagement& GetEngagement() const { return mEngagement; }
47
48protected:
50};
51
52// ===================================================================================================
53class WSF_CYBER_EXPORT CyberTriggerResult : public Result
54{
55public:
56 CyberTriggerResult(double aSimTime, const cyber::trigger::Trigger& aTrigger, Settings aSettings, std::string aEventName)
57 : Result(aSimTime, std::move(aSettings), std::move(aEventName))
58 , mTrigger(aTrigger)
59 {
60 }
61
62 const wsf::cyber::trigger::Trigger& GetTrigger() const { return mTrigger; }
63
64protected:
65 virtual std::string FormatOutput(const std::string& aObserverType, bool aIsCSV = false) const;
66
67 const cyber::trigger::Trigger& mTrigger;
68};
69
70} // namespace event
71} // namespace wsf
72
73#endif
A class that represents the cyber engagements between two platforms.
Definition WsfCyberEngagement.hpp:37
CyberResult(double aSimTime, const cyber::Engagement &aEngagement, Settings aSettings, std::string aEventName)
Definition WsfCyberEventResult.hpp:40
const cyber::Engagement & mEngagement
Definition WsfCyberEventResult.hpp:49
const cyber::Engagement & GetEngagement() const
Definition WsfCyberEventResult.hpp:46
CyberTriggerResult(double aSimTime, const cyber::trigger::Trigger &aTrigger, Settings aSettings, std::string aEventName)
Definition WsfCyberEventResult.hpp:56
const cyber::trigger::Trigger & mTrigger
Definition WsfCyberEventResult.hpp:67
const wsf::cyber::trigger::Trigger & GetTrigger() const
Definition WsfCyberEventResult.hpp:62
Result(double aSimTime, Settings aSettings=Settings{}, std::string aEventName="UNSET")
Definition WsfEventResult.hpp:119
Definition WsfEventResult.hpp:35
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition WsfCyberEventResult.hpp:26
Definition WsfCyberApplicationExtension.cpp:24
Definition WsfXIO_EventResults.cpp:33
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved