WSF
WsfUCI_Computer.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 WSFUCI_COMPUTER_HPP
13#define WSFUCI_COMPUTER_HPP
14
15#include "wsf_oms_uci_export.h"
16
17#include <memory>
18
19#include "UtCallbackHolder.hpp"
20
21#include "WsfUCI_Component.hpp"
23
24namespace wsf
25{
27 class WSF_OMS_UCI_EXPORT UCI_Computer : public UCI_Component
28 {
29 public:
30 UCI_Computer(WsfScenario& aScenario);
31 UCI_Computer(const UCI_Computer& aSrc);
32 virtual ~UCI_Computer() = default;
33
34 bool PreInitialize(double aSimTime) override;
35 bool Initialize(double aSimTime) override;
36 WsfObject* Clone() const { return new UCI_Computer(*this); }
37 const int* GetComponentRoles() const override;
38 WsfComponent* CloneComponent() const override;
39 void* QueryInterface(int aRole) override;
40
41 bool ProcessMessage(double aSimTime,
42 const WsfMessage& aMessage) override;
43
44 void ReceiveUCI_Message(const uci::type::MessageType* aMessagePtr) override;
45
46 private:
47
48 std::unique_ptr<UCI_MessageFactory> mMessageFactoryPtr { nullptr };
49 };
50}
51
52enum
53{
55};
56
58
59#endif
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_UCI_COMPUTER
Definition WsfUCI_Computer.hpp:54
Definition WsfComponent.hpp:39
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
UCI_Component(const WsfScenario &aScenario, int aPartType)
Definition WsfUCI_Component.cpp:28
The OMS / UCI Interface Object to the UCI middleware.
Definition WsfUCI_Computer.hpp:28
WsfObject * Clone() const
Definition WsfUCI_Computer.hpp:36
bool PreInitialize(double aSimTime) override
Definition WsfUCI_Computer.cpp:42
UCI_Computer(WsfScenario &aScenario)
Definition WsfUCI_Computer.cpp:31
virtual ~UCI_Computer()=default
bool Initialize(double aSimTime) override
Definition WsfUCI_Computer.cpp:47
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved