WSF
WsfWeaponTaskResource.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 WSFWEAPONTASKRESOURCE_HPP
13#define WSFWEAPONTASKRESOURCE_HPP
14
15#include "wsf_mil_export.h"
16
17#include "WsfStringId.hpp"
18#include "WsfTaskResource.hpp"
19
20enum // reserve 3-5 for wsf_mil
21{
25};
26
28class WSF_MIL_EXPORT WsfWeaponTaskResource : public WsfTaskResource
29{
30public:
37 ~WsfWeaponTaskResource() override = default;
38 WsfTaskResource* Clone() const override;
39
40 WsfStringId GetTypeName() const override;
41
43 template<typename AR>
44 void Serialize(AR& aAr)
45 {
47 aAr& mCount;
48 }
49
50 int mCount;
51};
52
54class WSF_MIL_EXPORT WsfJammerTaskResource : public WsfTaskResource
55{
56public:
65 ~WsfJammerTaskResource() override = default;
66 WsfTaskResource* Clone() const override;
67
68 WsfStringId GetTypeName() const override;
69
70 bool IsMatch(const WsfTaskResource& aRhs) const override;
71
73 template<typename AR>
79
82
84 double mFrequency;
85
87 double mBandwidth;
88
91};
92
94class WSF_MIL_EXPORT WsfUplinkTaskResource : public WsfTaskResource
95{
96public:
103 ~WsfUplinkTaskResource() override = default;
104 WsfTaskResource* Clone() const override;
105
106 WsfStringId GetTypeName() const override;
107
109 template<typename AR>
115
124
126};
127
128#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
@ cTASK_RESOURCE_TYPE_JAMMER
resource is a jammer
Definition WsfWeaponTaskResource.hpp:23
@ cTASK_RESOURCE_TYPE_WEAPON
resource is a weapon
Definition WsfWeaponTaskResource.hpp:22
@ cTASK_RESOURCE_TYPE_UPLINK
resource is an uplink
Definition WsfWeaponTaskResource.hpp:24
double mFrequency
The frequency to use.
Definition WsfWeaponTaskResource.hpp:84
double mBandwidth
The bandwidth to use.
Definition WsfWeaponTaskResource.hpp:87
WsfJammerTaskResource(const WsfJammerTaskResource &aSrc)=default
~WsfJammerTaskResource() override=default
WsfStringId mTechniqueName
The technique to use.
Definition WsfWeaponTaskResource.hpp:90
WsfJammerTaskResource()
Definition WsfWeaponTaskResource.hpp:57
int mBeamNumber
The beam number of interest.
Definition WsfWeaponTaskResource.hpp:81
void Serialize(AR &aAr)
For XIO (de)serialization.
Definition WsfWeaponTaskResource.hpp:74
virtual bool IsMatch(const WsfTaskResource &aRhs) const
Returns true if this is a match for resource 'aRhs'.
Definition WsfTaskResource.cpp:18
virtual WsfStringId GetTypeName() const
Definition WsfTaskResource.cpp:30
void Serialize(AR &aAr)
For XIO (de)serialization.
Definition WsfTaskResource.hpp:55
virtual WsfTaskResource * Clone() const
Definition WsfTaskResource.cpp:24
WsfTaskResource()
Definition WsfTaskResource.hpp:32
double mUplinkDelay
Definition WsfWeaponTaskResource.hpp:125
WsfUplinkTaskResource()
Definition WsfWeaponTaskResource.hpp:97
WsfStringId mUplinkSource
Definition WsfWeaponTaskResource.hpp:121
WsfUplinkTaskResource(const WsfUplinkTaskResource &aSrc)=default
WsfStringId mUplinkDestination
Definition WsfWeaponTaskResource.hpp:118
void Serialize(AR &aAr)
For XIO (de)serialization.
Definition WsfWeaponTaskResource.hpp:110
~WsfUplinkTaskResource() override=default
WsfStringId mUplinkCommName
Comm device used to send the uplink.
Definition WsfWeaponTaskResource.hpp:123
WsfWeaponTaskResource()
Definition WsfWeaponTaskResource.hpp:31
~WsfWeaponTaskResource() override=default
int mCount
The number of shots to be fired.
Definition WsfWeaponTaskResource.hpp:50
void Serialize(AR &aAr)
For XIO (de)serialization.
Definition WsfWeaponTaskResource.hpp:44
WsfWeaponTaskResource(const WsfWeaponTaskResource &aSrc)=default
Copyrights Multiple, All Rights Reserved