WSF
WsfAnnotationEventPipe.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 WSFANNOTATION_EVENTPIPE_HPP
13#define WSFANNOTATION_EVENTPIPE_HPP
14
16#include "WsfEventPipe.hpp"
17
19
20namespace wsf
21{
22namespace annotation
23{
25{
26public:
27 static void RegisterEvents(WsfEventPipeExtension& aEventPipeExtension);
28 static void RegisterMessages(UtPackSerializer* aSerializerPtr);
29 explicit EventPipe(WsfEventPipeInterface* aEventPipeInterfacePtr);
30
31 void AddMessages(const AnnotationData::AnnotationInfo& aAnnotationInfo);
32
33private:
34 void Send(double aSimTime, std::unique_ptr<WsfEventPipe::MsgBase> aMessagePtr)
35 {
36 mEventPipeInterfacePtr->SendImmediate(aSimTime, false, std::move(aMessagePtr));
37 }
38
39 void UpdateSubscriptions(const WsfEventPipeOptions& aNewCombinedOptions,
40 const WsfEventPipeOptions& aPreviousCombinedOptions) override
41 {
42 }
43
44 WsfSimulation* mSimulationPtr;
45 WsfEventPipeInterface* mEventPipeInterfacePtr;
46 int cANNOTATION;
47};
48
49
51{
52public:
53 static EventPipeInterface& Get(const WsfSimulation& aSimulation);
54 explicit EventPipeInterface(const AnnotationData::AnnotationInfo& aAnnotationInfo)
55 : mEventPipePtr(nullptr)
56 , mAnnotationInfo(aAnnotationInfo)
57 {
58 }
59 ~EventPipeInterface() override = default;
60
61 void AddedToSimulation() override;
62 void Start() override;
63
64private:
65 std::unique_ptr<EventPipe> mEventPipePtr;
66 AnnotationData::AnnotationInfo mAnnotationInfo;
67};
68} // namespace annotation
69} // namespace wsf
70
71#endif
Definition UtPack.hpp:137
Scenario extension for event pipe. Reads the input file.
Definition WsfEventPipe.hpp:36
Definition WsfEventPipeInterface.hpp:87
Definition WsfEventPipeLogger.hpp:20
Definition WsfEventPipeOptions.hpp:23
WsfSimulationExtension()
Definition WsfSimulationExtension.cpp:23
friend class WsfSimulation
Definition WsfSimulationExtension.hpp:43
The main controller for a simulation.
Definition WsfSimulation.hpp:109
EventPipeInterface(const AnnotationData::AnnotationInfo &aAnnotationInfo)
Definition WsfAnnotationEventPipe.hpp:54
~EventPipeInterface() override=default
void AddedToSimulation() override
Definition WsfAnnotationEventPipe.cpp:121
static EventPipeInterface & Get(const WsfSimulation &aSimulation)
Definition WsfAnnotationEventPipe.cpp:116
void Start() override
Definition WsfAnnotationEventPipe.cpp:108
static void RegisterMessages(UtPackSerializer *aSerializerPtr)
Definition WsfAnnotationEventPipe.cpp:47
EventPipe(WsfEventPipeInterface *aEventPipeInterfacePtr)
Definition WsfAnnotationEventPipe.cpp:52
void AddMessages(const AnnotationData::AnnotationInfo &aAnnotationInfo)
Definition WsfAnnotationEventPipe.cpp:59
static void RegisterEvents(WsfEventPipeExtension &aEventPipeExtension)
Definition WsfAnnotationEventPipe.cpp:40
Definition WsfAnnotationEventPipe.hpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Definition WsfAnnotationDataTypes.hpp:82
Copyrights Multiple, All Rights Reserved