WSF
WsfXIO_DisService.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#ifndef WSFXIO_DISSERVICE_HPP
13#define WSFXIO_DISSERVICE_HPP
14
15#include "wsf_export.h"
16
17class WsfDisInterface;
18class WsfSimulation;
26
28{
29public:
30 WsfXIO_DisRequest(WsfXIO_Connection* aConnectionPtr);
32
33protected:
34 void Initialized() override;
35};
36
38{
39public:
41 void AddRequest(WsfXIO_DisRequest* aRequestPtr);
42 void RemoveRequest(WsfXIO_DisRequest* aRequestPtr);
43
44private:
45 void RequestCancelled(WsfXIO_Request* aRequestPtr) override;
46 void HandleMessage(WsfXIO_DisMessagePkt& aPkt);
47 void HandlePlatformInfo(WsfXIO_DisPlatformInfoPkt& aPkt);
48};
49
51{
52public:
53 WsfXIO_DisService(WsfXIO_Simulation& aXIO_Simulation);
54
55private:
56 void HandleRequest(WsfXIO_RequestDisDataPkt& aRequest);
57
58 void PlatformInitialized(double aSimTime, WsfPlatform* aPlatformPtr);
59
60 void PlatformDeleted(double aSimTime, WsfPlatform* aPlatformPtr);
61
62 void SendPlatformInfo(WsfXIO_Subscription* aSubscription, const WsfPlatform& aPlatform, bool aIsAlive) const;
63
64 void PackPlatformInfo(const WsfPlatform& aPlatform, WsfXIO_DisPlatformInfoPkt& aPkt, bool aIsAlive) const;
65
66 WsfSimulation& mSimulation;
67 WsfDisInterface* mDisInterfacePtr;
68};
69
70#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfDisInterface.hpp:83
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfXIO_Connection.hpp:37
Definition WsfXIO_SimPacketRegistry.hpp:42
Definition WsfXIO_PacketRegistry.hpp:627
void AddRequest(WsfXIO_DisRequest *aRequestPtr)
Definition WsfXIO_DisService.cpp:50
void RemoveRequest(WsfXIO_DisRequest *aRequestPtr)
Definition WsfXIO_DisService.cpp:57
WsfXIO_DisRequestManager(WsfXIO_Interface *aInterfacePtr)
Definition WsfXIO_DisService.cpp:42
Definition WsfXIO_DisService.hpp:28
virtual void HandlePlatformInfo(WsfXIO_DisPlatformInfoPkt &aPkt)=0
WsfXIO_DisRequest(WsfXIO_Connection *aConnectionPtr)
Definition WsfXIO_DisService.cpp:28
WsfXIO_DisService(WsfXIO_Simulation &aXIO_Simulation)
Definition WsfXIO_DisService.cpp:85
Definition WsfXIO_Interface.hpp:54
Definition WsfXIO_PacketRegistry.hpp:621
WsfXIO_RequestManager(WsfXIO_Interface *aInterfacePtr)
Definition WsfXIO_Request.cpp:23
Definition WsfXIO_Request.hpp:81
virtual void Initialized()=0
WsfXIO_Request(WsfXIO_Connection *aConnectionPtr, bool aIsReliable=true)
Definition WsfXIO_Request.cpp:160
WsfXIO_Service(WsfXIO_Interface *aInterfacePtr)
Definition WsfXIO_Service.cpp:21
Definition WsfXIO_Simulation.hpp:49
A WsfXIO_Subscription wraps information about a remote request for information.
Definition WsfXIO_Subscription.hpp:30
Copyrights Multiple, All Rights Reserved