WSF
WsfUCI.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
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 OMS_UCI_EXTENSION_HPP
13#define OMS_UCI_EXTENSION_HPP
14
15#include <memory>
16
17#include "wsf_oms_uci_export.h"
18
20class WsfSimulation;
22
23namespace wsf
24{
26 class UCI_Interface;
27
28 class WSF_OMS_UCI_EXPORT OMS_UCI_Extension : public WsfScenarioExtension
29 {
30 public:
31
32 OMS_UCI_Extension() = default;
33 ~OMS_UCI_Extension() override;
34 void AddedToScenario() override;
35 void SimulationCreated(WsfSimulation& aSimulation) override;
36 static const char* GetExtensionName() { return "wsf_oms_uci"; }
37 wsf::UCI_ComponentTypes& GetUCI_ComponentTypes() const { return *mUCI_ComponentTypesPtr; }
38 bool ProcessInput(UtInput& aInput) override;
39 std::shared_ptr<wsf::UCI_Interface> GetInterface();
40
41 static OMS_UCI_Extension& Get(const WsfScenario& aScenario);
42
43 private:
44
45 std::shared_ptr<wsf::UCI_Interface> mInterfacePtr { nullptr };
46 wsf::UCI_ComponentTypes* mUCI_ComponentTypesPtr { nullptr };
47 std::unique_ptr<UCI_InterfaceExtension> mInterfaceExtensionPtr { ut::make_unique<UCI_InterfaceExtension>() };
48 };
49} // namespace wsf
50
51#endif
WsfScenarioExtension()
Definition WsfScenarioExtension.cpp:21
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfUCI.hpp:29
void AddedToScenario() override
Definition WsfUCI.cpp:106
static const char * GetExtensionName()
Definition WsfUCI.hpp:36
wsf::UCI_ComponentTypes & GetUCI_ComponentTypes() const
Definition WsfUCI.hpp:37
void SimulationCreated(WsfSimulation &aSimulation) override
Definition WsfUCI.cpp:200
A type that only uses functionality of base class to register itself with the scenario.
Definition WsfUCI_ComponentTypes.hpp:25
The OMS / UCI Interface Object to the UCI middleware.
Definition WsfUCI_Interface.hpp:118
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved