WSF
AircraftMissionData.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 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 AIRCRAFTMISSIONDATA_HPP
13#define AIRCRAFTMISSIONDATA_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18#include <vector>
19
20#include "Field.hpp"
21#include "FreeText.hpp"
22#include "NamedLocation.hpp"
23#include "RangeValidator.hpp"
24#include "Set.hpp"
25#include "UTM_Location.hpp"
26#include "UtMemory.hpp"
27#include "VariantValidator.hpp"
28
29namespace usmtf
30{
56class USMTF_EXPORT AircraftMissionData : public Set
57{
58public:
60 using Locations = std::vector<std::unique_ptr<Location>>;
61 AircraftMissionData(const std::string& aSTF, const std::vector<Field>& aFields) noexcept;
63 const FreeText& GetResidualMissionIndicator() const noexcept;
64 const FreeText& GetMissionNumber() const noexcept;
65 const VariantValidator<RangeValidator<int>, FreeText>& GetEventNumber() const noexcept;
66 const FreeText& GetPackageIdentification() const noexcept;
67 const FreeText& GetMissionCommander() const noexcept;
68 const FreeText& GetPrimaryMissionType() const noexcept;
69 const FreeText& GetSecondaryMissionType() const noexcept;
70 const FreeText& GetAlertStatus() const noexcept;
71 const Location& GetDepartureLocation() const noexcept;
72 const FreeText& GetTimeOfDeparture() const noexcept;
73 const Locations& GetRecoveryLocations() const noexcept;
74 const std::vector<FreeText>& GetRecoverTimes() const noexcept;
75
76private:
77 FreeText mRMI;
78 FreeText mMissionNumber;
80 FreeText mPackageId;
81 FreeText mMissionCommander;
82 FreeText mPrimaryMissionType;
83 FreeText mSecondaryMissionType;
84 FreeText mAlertStatus;
85 Location mDepartureLocation;
86 FreeText mTimeOfDeparture;
87 Locations mRecoveryLocations;
88 std::vector<FreeText> mTimeOfRecovery;
89};
90} // namespace usmtf
91
92#endif
const FreeText & GetMissionNumber() const noexcept
Definition AircraftMissionData.cpp:60
const FreeText & GetTimeOfDeparture() const noexcept
Definition AircraftMissionData.cpp:100
const FreeText & GetAlertStatus() const noexcept
Definition AircraftMissionData.cpp:90
const FreeText & GetResidualMissionIndicator() const noexcept
Definition AircraftMissionData.cpp:55
AircraftMissionData(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition AircraftMissionData.cpp:16
const Locations & GetRecoveryLocations() const noexcept
Definition AircraftMissionData.cpp:105
const Location & GetDepartureLocation() const noexcept
Definition AircraftMissionData.cpp:95
const FreeText & GetMissionCommander() const noexcept
Definition AircraftMissionData.cpp:75
AircraftMissionData(const AircraftMissionData &)=delete
std::vector< std::unique_ptr< Location > > Locations
Definition AircraftMissionData.hpp:60
const FreeText & GetPrimaryMissionType() const noexcept
Definition AircraftMissionData.cpp:80
VariantValidator< UTM_Location, NamedLocation, FreeText > Location
Definition AircraftMissionData.hpp:59
const std::vector< FreeText > & GetRecoverTimes() const noexcept
Definition AircraftMissionData.cpp:110
const VariantValidator< RangeValidator< int >, FreeText > & GetEventNumber() const noexcept
Definition AircraftMissionData.cpp:65
const FreeText & GetSecondaryMissionType() const noexcept
Definition AircraftMissionData.cpp:85
const FreeText & GetPackageIdentification() const noexcept
Definition AircraftMissionData.cpp:70
Definition FreeText.hpp:29
Definition RangeValidator.hpp:28
Set(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition Set.cpp:22
Definition VariantValidator.hpp:62
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved