WSF
AirAssetControl.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 AIRASSETCONTROL_HPP
13#define AIRASSETCONTROL_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18
20#include "Field.hpp"
21#include "FreeText.hpp"
22#include "LatLon.hpp"
23#include "Set.hpp"
24#include "UTM_Location.hpp"
25#include "VariantValidator.hpp"
26#include "VerifiedLatLonDS.hpp"
27#include "VerifiedLatLonTM.hpp"
28
29
30namespace usmtf
31{
50class USMTF_EXPORT AirAssetControl : public Set
51{
52public:
53 AirAssetControl(const std::string& aSTF, const std::vector<Field>& aFields) noexcept;
55 const AircraftControlAgency& GetAgency() const noexcept;
56 const FreeText& GetCallsign() const noexcept;
57 const FreeText& GetPrimaryFrequency() const noexcept;
58 const FreeText& GetSecondaryFrequency() const noexcept;
59 const FreeText& GetLink16Callsign() const noexcept;
61
62private:
64 FreeText mCallSign;
65 FreeText mPrimaryFrequency; // Not validating as its not useful to our current used cases. If you need correct
66 // Frequency, please model.
67 FreeText mSecondaryFrequency; // Not validating as its not useful to our current used cases. If you need correct
68 // Frequency, please model.
69 FreeText mLink16CallSign;
70 // FreeText must go at the end because everything passes this check. Unfortunately a string literal is a valid report
71 // in point. User must supplement definition.
73};
74} // namespace usmtf
75
76#endif
const AircraftControlAgency & GetAgency() const noexcept
Definition AirAssetControl.cpp:49
const FreeText & GetPrimaryFrequency() const noexcept
Definition AirAssetControl.cpp:59
AirAssetControl(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition AirAssetControl.cpp:18
const VariantValidator< LatLon, UTM_Location, VerifiedLatLonTM, VerifiedLatLonDS, FreeText > & GetReportInPoint() const noexcept
Definition AirAssetControl.cpp:74
const FreeText & GetLink16Callsign() const noexcept
Definition AirAssetControl.cpp:69
const FreeText & GetSecondaryFrequency() const noexcept
Definition AirAssetControl.cpp:64
AirAssetControl(const AirAssetControl &)=delete
const FreeText & GetCallsign() const noexcept
Definition AirAssetControl.cpp:54
Definition AircraftControlAgency.hpp:61
Definition FreeText.hpp:29
B.POSITION OR ROUTE POINT, LAT / LONG, SECONDS.
Definition LatLon.hpp:78
Set(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition Set.cpp:22
FFIRN_Validator responsible for the validation and property extraction of a UTM Location.
Definition UTM_Location.hpp:85
Definition VariantValidator.hpp:62
Definition VerifiedLatLonDS.hpp:40
Definition VerifiedLatLonTM.hpp:39
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved