WSF
WsfDisActionRequestR.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#ifndef WSFDISACTIONREQUESTR_HPP
16#define WSFDISACTIONREQUESTR_HPP
17
18#include "wsf_export.h"
19
20#include <string>
21
22#include "DisActionRequestR.hpp"
23#include "DisEntityId.hpp"
24class WsfDisInterface;
26
27class WSF_EXPORT WsfDisActionRequestR : public DisActionRequestR
28{
29public:
31 WsfDisActionRequestR(DisPdu& aPdu, GenI& aGenI, WsfDisInterface* aInterfacePtr);
32 ~WsfDisActionRequestR() override;
33
34 void TimedOut() override;
35
39
40 void MakeJoinExerciseRequest(const DisEntityId& aSimulationManager,
41 double aSimJoinTime, // Zero or negative = join immediately
42 double aMaxAppRate,
43 double aMaxAppTimeStep,
44 const std::string& aExerciseToJoinId);
45
46 void MakeTimeAdvanceRequest(const DisEntityId& aSimulationManager, double aSimTime, double aAppRate, double aAppTimeStep);
47
48 void MakeResignExerciseRequest(double aSimTime);
49
50protected:
51 // Disallow assignment
53 DisPdu* ProduceResponse(bool aComplete);
56 bool ProcessTimeAdvance(double aSimTime, double aSimRate, double aSimTimeStep);
57 bool ParseData(double& aSimTime,
58 double& aSimRate,
59 double& aSimTimeStep,
60 unsigned int& aTimeScheme,
61 std::string& aExerciseToJoinId) const;
62
63private:
64 WsfDisInterface* mInterfacePtr;
65};
66
67#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
bool ProcessResignExercise()
Definition WsfDisActionRequestR.cpp:252
WsfDisActionRequestR & operator=(const WsfDisActionRequestR &aRhs)=delete
void MakeResignExerciseRequest(double aSimTime)
Definition WsfDisActionRequestR.cpp:218
bool ProcessTimeAdvance(double aSimTime, double aSimRate, double aSimTimeStep)
Definition WsfDisActionRequestR.cpp:239
WsfDisActionRequestR(WsfDisInterface *aInterfacePtr)
Definition WsfDisActionRequestR.cpp:34
bool ProcessJoinExercise()
Definition WsfDisActionRequestR.cpp:226
void MakeTimeAdvanceRequest(const DisEntityId &aSimulationManager, double aSimTime, double aAppRate, double aAppTimeStep)
Definition WsfDisActionRequestR.cpp:184
void TimedOut() override
Definition WsfDisActionRequestR.cpp:130
DisPdu * ProduceResponse(bool aComplete)
Definition WsfDisActionRequestR.cpp:52
void MakeJoinExerciseRequest(const DisEntityId &aSimulationManager, double aSimJoinTime, double aMaxAppRate, double aMaxAppTimeStep, const std::string &aExerciseToJoinId)
Definition WsfDisActionRequestR.cpp:138
bool ParseData(double &aSimTime, double &aSimRate, double &aSimTimeStep, unsigned int &aTimeScheme, std::string &aExerciseToJoinId) const
Definition WsfDisActionRequestR.cpp:264
Definition WsfDisActionResponseR.hpp:26
Definition WsfDisInterface.hpp:83
Copyrights Multiple, All Rights Reserved