WSF
WsfRIPRManager.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 2003-2015 The Boeing 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// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15//***************************************************************************
16//* FILE NAME:
17//* WsfRIPRManager.hpp
18//*
19//* PURPOSE:
20//* The WsfRIPRManager class holds all the RIPR processor IDs.
21//* Only one instance of this class is needed at a time, so it is
22//* implemented as a singleton for the time being.
23//*
24//* NOTES:
25//* None
26//***************************************************************************
27
28#ifndef WSFRIPRMANAGER_HPP
29#define WSFRIPRMANAGER_HPP
30
31#include <map>
32#include <vector>
33
34#include "SafeRIPRProc.hpp"
35#include "UtCallback.hpp"
36#include "UtCallbackHolder.hpp"
37#include "WsfRIPR_Export.hpp"
40
41class UtInput;
43class WsfXIO_RIPRExtension;
44class WsfEventOutput;
45struct WsfRIPRObserver;
46
48{
49public:
52 bool ProcessRIPR_Input(UtInput& aInput);
54};
55
56
58{
59public:
61 ~WsfRIPR_ModuleSetup() override;
62 bool ProcessInput(UtInput& aInput) override;
63
64 void SimulationCreated(WsfSimulation& aSimulation) override;
65
66protected:
67};
68
69
71{
72public:
74
75 ~WsfRIPRManager() override;
76
78 bool IsActive();
79
83 bool IsRiprType(WsfStringId aType) const;
84
85
86 unsigned int GetUniqueRiprId(WsfRIPRProcessor* aProcPtr = nullptr);
87 WsfRIPRProcessor* GetRiprProcById(unsigned int aId);
88 void RemoveRiprProc(unsigned int aId);
89
91 std::map<unsigned int, SafeRIPRProc> GetProcIdMap() const { return mIdToProcMap; }
92
93 WsfRIPRObserver& GetObserver() const { return *mObserverPtr; }
94
95private:
96 WsfRIPRObserver* mObserverPtr;
97 unsigned int mNextUniqueId;
98 const WsfRIPRManagerData* mShare;
99 WsfXIO_RIPRExtension* mRIPR_XIOPtr;
100 UtCallbackHolder mCallbacks;
101 WsfEventOutput* mEventOutputPtr;
102 std::map<unsigned int, SafeRIPRProc> mIdToProcMap;
103
104 std::vector<WsfStringId> mRiprTypeList;
105};
106
107#endif
#define RIPR_EXPORT
Definition WsfRIPR_Export.hpp:37
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
A simulation observer to write an event output file.
Definition WsfEventOutput.hpp:33
Definition WsfRIPRManager.hpp:48
WsfRIPRManagerData(WsfScenario &aScenario)
Definition WsfRIPRManager.cpp:81
WsfScenario * mScenarioPtr
Definition WsfRIPRManager.hpp:53
bool ProcessRIPR_Input(UtInput &aInput)
Initialize the XIO extension that manages network requests for RIPR information.
Definition WsfRIPRManager.cpp:169
void RemoveRiprProc(unsigned int aId)
Definition WsfRIPRManager.cpp:154
bool IsActive()
Returns true if the RIPR kernel is instantiated, false otherwise.
std::map< unsigned int, SafeRIPRProc > GetProcIdMap() const
Returns a copy of the RIPR unique ID to processor ID map.
Definition WsfRIPRManager.hpp:91
unsigned int GetUniqueRiprId(WsfRIPRProcessor *aProcPtr=nullptr)
Definition WsfRIPRManager.cpp:129
WsfRIPRManager(const WsfRIPRManagerData &aData)
Definition WsfRIPRManager.cpp:86
WsfRIPRProcessor * GetRiprProcById(unsigned int aId)
Definition WsfRIPRManager.cpp:137
bool IsRiprType(WsfStringId aType) const
Definition WsfRIPRManager.cpp:117
WsfRIPRObserver & GetObserver() const
Definition WsfRIPRManager.hpp:93
Definition WsfRIPRProcessor.hpp:45
void SimulationCreated(WsfSimulation &aSimulation) override
Definition WsfRIPRManager.cpp:190
bool ProcessInput(UtInput &aInput) override
Definition WsfRIPRManager.cpp:195
WsfRIPR_ModuleSetup(WsfScenario &aScenario)
Definition WsfRIPRManager.cpp:184
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
friend class WsfScenario
Definition WsfScenarioExtension.hpp:39
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSimulationExtension()
Definition WsfSimulationExtension.cpp:23
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfRIPRObserver.hpp:25
Copyrights Multiple, All Rights Reserved