WSF
WsfWeaponObserver.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 WSFWEAPONOBSERVER_HPP
13#define WSFWEAPONOBSERVER_HPP
14
15#include "UtCallback.hpp"
20#include "wsf_mil_export.h"
21class WsfMessage;
22class WsfSimulation;
23#include "WsfWeapon.hpp"
24
25namespace WsfObserver
26{
28 UtCallbackListN<void(double, const WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
30 UtCallbackListN<void(double, const WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
32 UtCallbackListN<void(double, WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
34 UtCallbackListN<void(double, WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
36 UtCallbackListN<void(double, WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
38 UtCallbackListN<void(double, WsfImplicitWeapon*, const WsfWeaponEngagement*)>;
39using ImplicitWeaponEndEngagementCallback = UtCallbackListN<void(double, WsfImplicitWeapon*, const WsfWeaponEngagement*)>;
41 UtCallbackListN<void(double, WsfDirectedEnergyWeapon*, const WsfWeaponEngagement*)>;
42using DirectedEnergyWeaponCooldownCompleteCallback = UtCallbackListN<void(double, WsfWeapon*)>;
43using FireButtonSelectedCallback = UtCallbackListN<void(WsfPlatform&, int, WsfTrack*)>;
44using GuidanceComputerPhaseChangedCallback = UtCallbackListN<void(double, WsfGuidanceComputer*)>;
45using JammingAttemptCallback = UtCallbackListN<void(double, WsfEM_Xmtr*, WsfEM_Rcvr*, WsfEM_Interaction&)>;
46using JammingRequestCanceledCallback = UtCallbackListN<void(double, WsfWeapon*, double, double, size_t)>;
47using JammingRequestInitiatedCallback = UtCallbackListN<void(double, WsfWeapon*, double, double, WsfStringId, size_t)>;
48using JammingRequestUpdatedCallback = UtCallbackListN<void(double, WsfWeapon*, double, double, WsfStringId, size_t)>;
49using TargetAllocatedCallback = UtCallbackListN<void(double, WsfPlatform*, const WsfTrack*)>;
50using TargetEngagedCallback = UtCallbackListN<void(double, WsfPlatform*, const WsfTrack*)>;
51using WeaponFinalOutgoingCheckCallback = UtCallbackListN<void(double, WsfWeaponEngagement*)>;
52using WeaponFireAbortedCallback = UtCallbackListN<void(double, WsfWeapon*, const WsfTrack*, double)>;
53using WeaponFiredCallback = UtCallbackListN<void(double, const WsfWeaponEngagement*, const WsfTrack*)>;
54using WeaponFireRequestedCallback = UtCallbackListN<void(double, WsfWeapon*, const WsfTrack*, double)>;
56 UtCallbackListN<void(double, WsfPlatform*, const WsfWeaponEngagement*, const WsfTrack*)>;
57using WeaponHitCallback = UtCallbackListN<void(double, const WsfWeaponEngagement*, WsfPlatform*)>;
58using WeaponKilledCallback = UtCallbackListN<void(double, WsfWeapon*)>;
59using WeaponMissedCallback = UtCallbackListN<void(double, const WsfWeaponEngagement*, WsfPlatform*)>;
60using WeaponModeActivatedCallback = UtCallbackListN<void(double, WsfWeapon*, WsfWeapon::WsfWeaponMode*)>;
61using WeaponModeDeactivatedCallback = UtCallbackListN<void(double, WsfWeapon*, WsfWeapon::WsfWeaponMode*)>;
62using WeaponNonOperationalCallback = UtCallbackListN<void(double, WsfWeapon*)>;
63using WeaponOperationalCallback = UtCallbackListN<void(double, WsfWeapon*)>;
64using WeaponQuantityChangedCallback = UtCallbackListN<void(double, WsfWeapon*)>;
65using WeaponReloadEndedCallback = UtCallbackListN<void(double, WsfWeapon*)>;
66using WeaponReloadStartedCallback = UtCallbackListN<void(double, WsfWeapon*)>;
67using WeaponSelectedCallback = UtCallbackListN<void(double, WsfWeapon*, WsfTrack*, int)>;
68using WeaponTerminatedCallback = UtCallbackListN<void(double, const WsfWeaponEngagement*)>;
69using WeaponTurnedOffCallback = UtCallbackListN<void(double, WsfWeapon*)>;
70using WeaponTurnedOnCallback = UtCallbackListN<void(double, WsfWeapon*)>;
71using UplinkDroppedCallback = UtCallbackListN<void(double, WsfPlatform*, WsfPlatform*, WsfTrack*)>;
72using UplinkInitiatedCallback = UtCallbackListN<void(double, WsfPlatform*, WsfPlatform*, WsfTrack*)>;
73
85WSF_MIL_EXPORT JammingAttemptCallback& JammingAttempt(const WsfSimulation* aSimulation);
89WSF_MIL_EXPORT TargetAllocatedCallback& TargetAllocated(const WsfSimulation* aSimulation);
90WSF_MIL_EXPORT TargetEngagedCallback& TargetEngaged(const WsfSimulation* aSimulation);
92WSF_MIL_EXPORT WeaponFireAbortedCallback& WeaponFireAborted(const WsfSimulation* aSimulation);
93WSF_MIL_EXPORT WeaponFiredCallback& WeaponFired(const WsfSimulation* aSimulation);
96WSF_MIL_EXPORT WeaponHitCallback& WeaponHit(const WsfSimulation* aSimulation);
97WSF_MIL_EXPORT WeaponMissedCallback& WeaponMissed(const WsfSimulation* aSimulation);
103WSF_MIL_EXPORT WeaponSelectedCallback& WeaponSelected(const WsfSimulation* aSimulation);
104WSF_MIL_EXPORT WeaponTerminatedCallback& WeaponTerminated(const WsfSimulation* aSimulation);
105WSF_MIL_EXPORT WeaponTurnedOffCallback& WeaponTurnedOff(const WsfSimulation* aSimulation);
106WSF_MIL_EXPORT WeaponTurnedOnCallback& WeaponTurnedOn(const WsfSimulation* aSimulation);
109WSF_MIL_EXPORT WeaponKilledCallback& WeaponKilled(const WsfSimulation* aSimulation);
110WSF_MIL_EXPORT UplinkDroppedCallback& UplinkDropped(const WsfSimulation* aSimulation);
111WSF_MIL_EXPORT UplinkInitiatedCallback& UplinkInitiated(const WsfSimulation* aSimulation);
112} // namespace WsfObserver
113
116struct WSF_MIL_EXPORT WsfWeaponObserver
117{
123
129
131
133
135
137
139
141
143
145
150
155
161
167
169
171
178
185
192
201
207
214
221
229
236
242
248
253
258
263
269
274
280
285
290
295
300};
301
302#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfDirectedEnergyWeapon.hpp:27
Definition WsfEM_Interaction.hpp:68
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
Definition WsfGuidanceComputer.hpp:52
Definition WsfImplicitWeapon.hpp:31
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
The main controller for a simulation.
Definition WsfSimulation.hpp:109
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeaponEngagement.hpp:43
A 'mode' of the weapon.
Definition WsfWeapon.hpp:78
Definition WsfWeapon.hpp:63
Observer definitions for cyber events.
Definition WsfAdvancedBehaviorObserver.hpp:22
UtCallbackListN< void(double, WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponUpdateShotCallback
Definition WsfWeaponObserver.hpp:40
UtCallbackListN< void(double, WsfWeapon *, WsfWeapon::WsfWeaponMode *)> WeaponModeActivatedCallback
Definition WsfWeaponObserver.hpp:60
WSF_MIL_EXPORT WeaponFireAbortedCallback & WeaponFireAborted(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfPlatform *, const WsfTrack *)> TargetEngagedCallback
Definition WsfWeaponObserver.hpp:50
UtCallbackListN< void(double, const WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponFiredCallback
Definition WsfWeaponObserver.hpp:27
UtCallbackListN< void(double, WsfImplicitWeapon *, const WsfWeaponEngagement *)> ImplicitWeaponBeginEngagementCallback
Definition WsfWeaponObserver.hpp:37
WSF_MIL_EXPORT WeaponSelectedCallback & WeaponSelected(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponTurnedOnCallback & WeaponTurnedOn(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT TargetAllocatedCallback & TargetAllocated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *)> WeaponReloadEndedCallback
Definition WsfWeaponObserver.hpp:65
UtCallbackListN< void(double, WsfEM_Xmtr *, WsfEM_Rcvr *, WsfEM_Interaction &)> JammingAttemptCallback
Definition WsfWeaponObserver.hpp:45
UtCallbackListN< void(double, const WsfWeaponEngagement *, const WsfTrack *)> WeaponFiredCallback
Definition WsfWeaponObserver.hpp:53
WSF_MIL_EXPORT UplinkInitiatedCallback & UplinkInitiated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeaponEngagement *)> WeaponFinalOutgoingCheckCallback
Definition WsfWeaponObserver.hpp:51
WSF_MIL_EXPORT WeaponFiredCallback & WeaponFired(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *)> WeaponTurnedOnCallback
Definition WsfWeaponObserver.hpp:70
UtCallbackListN< void(double, const WsfWeaponEngagement *)> WeaponTerminatedCallback
Definition WsfWeaponObserver.hpp:68
UtCallbackListN< void(double, WsfImplicitWeapon *, const WsfWeaponEngagement *)> ImplicitWeaponEndEngagementCallback
Definition WsfWeaponObserver.hpp:39
UtCallbackListN< void(WsfPlatform &, int, WsfTrack *)> FireButtonSelectedCallback
Definition WsfWeaponObserver.hpp:43
WSF_MIL_EXPORT GuidanceComputerPhaseChangedCallback & GuidanceComputerPhaseChanged(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponTerminatedCallback & WeaponTerminated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponEndShotCallback
Definition WsfWeaponObserver.hpp:35
UtCallbackListN< void(double, WsfPlatform *, const WsfWeaponEngagement *, const WsfTrack *)> WeaponPlatformPendingAddCallback
Definition WsfWeaponObserver.hpp:55
UtCallbackListN< void(double, WsfPlatform *, WsfPlatform *, WsfTrack *)> UplinkInitiatedCallback
Definition WsfWeaponObserver.hpp:72
WSF_MIL_EXPORT WeaponModeDeactivatedCallback & WeaponModeDeactivated(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT DirectedEnergyWeaponAbortShotCallback & DirectedEnergyWeaponAbortShot(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponReloadEndedCallback & WeaponReloadEnded(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, double, double, size_t)> JammingRequestCanceledCallback
Definition WsfWeaponObserver.hpp:46
UtCallbackListN< void(double, WsfWeapon *)> WeaponKilledCallback
Definition WsfWeaponObserver.hpp:58
UtCallbackListN< void(double, WsfWeapon *)> WeaponOperationalCallback
Definition WsfWeaponObserver.hpp:63
UtCallbackListN< void(double, WsfWeapon *)> WeaponTurnedOffCallback
Definition WsfWeaponObserver.hpp:69
WSF_MIL_EXPORT WeaponPlatformPendingAddCallback & WeaponPlatformPendingAdd(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *)> DirectedEnergyWeaponCooldownCompleteCallback
Definition WsfWeaponObserver.hpp:42
UtCallbackListN< void(double, WsfGuidanceComputer *)> GuidanceComputerPhaseChangedCallback
Definition WsfWeaponObserver.hpp:44
WSF_MIL_EXPORT JammingRequestUpdatedCallback & JammingRequestUpdated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *)> WeaponNonOperationalCallback
Definition WsfWeaponObserver.hpp:62
WSF_MIL_EXPORT DirectedEnergyWeaponFiredCallback & DirectedEnergyWeaponFired(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponReloadStartedCallback & WeaponReloadStarted(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfPlatform *, WsfPlatform *, WsfTrack *)> UplinkDroppedCallback
Definition WsfWeaponObserver.hpp:71
UtCallbackListN< void(double, WsfWeapon *, double, double, WsfStringId, size_t)> JammingRequestUpdatedCallback
Definition WsfWeaponObserver.hpp:48
UtCallbackListN< void(double, WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponBeginShotCallback
Definition WsfWeaponObserver.hpp:31
UtCallbackListN< void(double, const WsfWeaponEngagement *, WsfPlatform *)> WeaponMissedCallback
Definition WsfWeaponObserver.hpp:59
WSF_MIL_EXPORT WeaponModeActivatedCallback & WeaponModeActivated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, double, double, WsfStringId, size_t)> JammingRequestInitiatedCallback
Definition WsfWeaponObserver.hpp:47
WSF_MIL_EXPORT WeaponHitCallback & WeaponHit(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT UplinkDroppedCallback & UplinkDropped(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT JammingRequestCanceledCallback & JammingRequestCanceled(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, WsfTrack *, int)> WeaponSelectedCallback
Definition WsfWeaponObserver.hpp:67
WSF_MIL_EXPORT DirectedEnergyWeaponBeginShotCallback & DirectedEnergyWeaponBeginShot(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, const WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponHitCallback
Definition WsfWeaponObserver.hpp:29
UtCallbackListN< void(double, WsfDirectedEnergyWeapon *, const WsfWeaponEngagement *)> DirectedEnergyWeaponAbortShotCallback
Definition WsfWeaponObserver.hpp:33
WSF_MIL_EXPORT DirectedEnergyWeaponEndShotCallback & DirectedEnergyWeaponEndShot(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, const WsfWeaponEngagement *, WsfPlatform *)> WeaponHitCallback
Definition WsfWeaponObserver.hpp:57
WSF_MIL_EXPORT WeaponTurnedOffCallback & WeaponTurnedOff(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponNonOperationalCallback & WeaponNonOperational(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponKilledCallback & WeaponKilled(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, WsfWeapon::WsfWeaponMode *)> WeaponModeDeactivatedCallback
Definition WsfWeaponObserver.hpp:61
WSF_MIL_EXPORT DirectedEnergyWeaponCooldownCompleteCallback & DirectedEnergyWeaponCooldownComplete(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponQuantityChangedCallback & WeaponQuantityChanged(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponFinalOutgoingCheckCallback & WeaponFinalOutgoingCheck(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT WeaponFireRequestedCallback & WeaponFireRequested(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT TargetEngagedCallback & TargetEngaged(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT JammingAttemptCallback & JammingAttempt(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT ImplicitWeaponEndEngagementCallback & ImplicitWeaponEndEngagement(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT DirectedEnergyWeaponUpdateShotCallback & DirectedEnergyWeaponUpdateShot(const WsfSimulation *aSimulation)
WSF_MIL_EXPORT ImplicitWeaponBeginEngagementCallback & ImplicitWeaponBeginEngagement(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, const WsfTrack *, double)> WeaponFireRequestedCallback
Definition WsfWeaponObserver.hpp:54
WSF_MIL_EXPORT WeaponOperationalCallback & WeaponOperational(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfPlatform *, const WsfTrack *)> TargetAllocatedCallback
Definition WsfWeaponObserver.hpp:49
WSF_MIL_EXPORT DirectedEnergyWeaponHitCallback & DirectedEnergyWeaponHit(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *, const WsfTrack *, double)> WeaponFireAbortedCallback
Definition WsfWeaponObserver.hpp:52
UtCallbackListN< void(double, WsfWeapon *)> WeaponReloadStartedCallback
Definition WsfWeaponObserver.hpp:66
WSF_MIL_EXPORT JammingRequestInitiatedCallback & JammingRequestInitiated(const WsfSimulation *aSimulation)
UtCallbackListN< void(double, WsfWeapon *)> WeaponQuantityChangedCallback
Definition WsfWeaponObserver.hpp:64
WSF_MIL_EXPORT WeaponMissedCallback & WeaponMissed(const WsfSimulation *aSimulation)
Definition WsfWeaponObserver.hpp:117
WsfObserver::WeaponFinalOutgoingCheckCallback WeaponFinalOutgoingCheck
Definition WsfWeaponObserver.hpp:191
WsfObserver::UplinkInitiatedCallback UplinkInitiated
Definition WsfWeaponObserver.hpp:184
WsfObserver::WeaponSelectedCallback WeaponSelected
Definition WsfWeaponObserver.hpp:268
WsfObserver::WeaponModeDeactivatedCallback WeaponModeDeactivated
Definition WsfWeaponObserver.hpp:247
WsfObserver::WeaponPlatformPendingAddCallback WeaponPlatformPendingAdd
Definition WsfWeaponObserver.hpp:220
WsfObserver::TargetAllocatedCallback TargetAllocated
Definition WsfWeaponObserver.hpp:168
WsfObserver::JammingRequestInitiatedCallback JammingRequestInitiated
Definition WsfWeaponObserver.hpp:160
WsfObserver::WeaponFiredCallback WeaponFired
Definition WsfWeaponObserver.hpp:206
WsfObserver::GuidanceComputerPhaseChangedCallback GuidanceComputerPhaseChanged
Definition WsfWeaponObserver.hpp:144
WsfObserver::WeaponTurnedOnCallback WeaponTurnedOn
Definition WsfWeaponObserver.hpp:284
WsfObserver::WeaponTerminatedCallback WeaponTerminated
Definition WsfWeaponObserver.hpp:273
WsfObserver::DirectedEnergyWeaponFiredCallback DirectedEnergyWeaponFired
Definition WsfWeaponObserver.hpp:122
WsfObserver::WeaponHitCallback WeaponHit
Definition WsfWeaponObserver.hpp:228
WsfObserver::WeaponOperationalCallback WeaponOperational
Definition WsfWeaponObserver.hpp:294
WsfObserver::WeaponFireAbortedCallback WeaponFireAborted
Definition WsfWeaponObserver.hpp:200
WsfObserver::DirectedEnergyWeaponEndShotCallback DirectedEnergyWeaponEndShot
Definition WsfWeaponObserver.hpp:134
WsfObserver::ImplicitWeaponEndEngagementCallback ImplicitWeaponEndEngagement
Definition WsfWeaponObserver.hpp:140
WsfObserver::DirectedEnergyWeaponCooldownCompleteCallback DirectedEnergyWeaponCooldownComplete
Definition WsfWeaponObserver.hpp:142
WsfObserver::WeaponTurnedOffCallback WeaponTurnedOff
Definition WsfWeaponObserver.hpp:279
WsfObserver::WeaponReloadEndedCallback WeaponReloadEnded
Definition WsfWeaponObserver.hpp:257
WsfObserver::WeaponNonOperationalCallback WeaponNonOperational
Definition WsfWeaponObserver.hpp:289
WsfObserver::DirectedEnergyWeaponHitCallback DirectedEnergyWeaponHit
Definition WsfWeaponObserver.hpp:128
WsfObserver::JammingRequestCanceledCallback JammingRequestCanceled
Definition WsfWeaponObserver.hpp:154
WsfObserver::WeaponMissedCallback WeaponMissed
Definition WsfWeaponObserver.hpp:235
WsfObserver::DirectedEnergyWeaponBeginShotCallback DirectedEnergyWeaponBeginShot
Definition WsfWeaponObserver.hpp:130
WsfObserver::UplinkDroppedCallback UplinkDropped
Definition WsfWeaponObserver.hpp:177
WsfObserver::JammingRequestUpdatedCallback JammingRequestUpdated
Definition WsfWeaponObserver.hpp:166
WsfObserver::WeaponKilledCallback WeaponKilled
Definition WsfWeaponObserver.hpp:299
WsfObserver::JammingAttemptCallback JammingAttempt
Definition WsfWeaponObserver.hpp:149
WsfObserver::ImplicitWeaponBeginEngagementCallback ImplicitWeaponBeginEngagement
Definition WsfWeaponObserver.hpp:138
WsfObserver::DirectedEnergyWeaponAbortShotCallback DirectedEnergyWeaponAbortShot
Definition WsfWeaponObserver.hpp:136
WsfObserver::WeaponQuantityChangedCallback WeaponQuantityChanged
Definition WsfWeaponObserver.hpp:252
WsfObserver::WeaponModeActivatedCallback WeaponModeActivated
Definition WsfWeaponObserver.hpp:241
WsfObserver::WeaponReloadStartedCallback WeaponReloadStarted
Definition WsfWeaponObserver.hpp:262
WsfObserver::WeaponFireRequestedCallback WeaponFireRequested
Definition WsfWeaponObserver.hpp:213
WsfObserver::DirectedEnergyWeaponUpdateShotCallback DirectedEnergyWeaponUpdateShot
Definition WsfWeaponObserver.hpp:132
WsfObserver::TargetEngagedCallback TargetEngaged
Definition WsfWeaponObserver.hpp:170
Copyrights Multiple, All Rights Reserved