WSF
WsfCoverageAssetSpecification.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 2020 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 WSFCOVERAGEASSETSPECIFICATION_HPP
13#define WSFCOVERAGEASSETSPECIFICATION_HPP
14
15#include <set>
16#include <string>
17#include <vector>
18
19class UtInput;
20
21#include "WsfCoverageAsset.hpp"
22class WsfSimulation;
23
24#include "wsf_coverage_export.h"
25
26namespace wsf
27{
28namespace coverage
29{
30
32class WSF_COVERAGE_EXPORT AssetSpecification
33{
34public:
35 AssetSpecification() = default;
36 AssetSpecification(const AssetSpecification& aOther) = default;
38
39 bool ProcessInput(UtInput& aInput);
40
42 enum class AssetClass
43 {
44 cUNKNOWN,
45 cPLATFORM,
46 cPLATFORM_TYPE,
47 cCATEGORY,
48 cGROUP
49 };
50
52 struct WSF_COVERAGE_EXPORT Asset
53 {
55 std::string mName;
56 std::string mDeviceName;
57
58 bool SetAssetClass(const std::string& aAssetClass);
59 };
60
61 std::size_t NumSpecifications() const { return mFreeAssets.size(); }
62 const Asset& GetAsset(std::size_t aIndex) const { return mFreeAssets[aIndex]; }
63 const std::vector<Asset>& GetAssets() const { return mFreeAssets; }
64
65private:
66 std::vector<Asset> mFreeAssets{};
67};
68
69} // namespace coverage
70} // namespace wsf
71
72#endif // WSFCOVERAGEASSETSPECIFICATION_HPP
The main controller for a simulation.
Definition WsfSimulation.hpp:109
const std::vector< Asset > & GetAssets() const
Definition WsfCoverageAssetSpecification.hpp:63
bool ProcessInput(UtInput &aInput)
Definition WsfCoverageAssetSpecification.cpp:25
AssetClass
AssetClass gives the set of possible classes of assets supported by Coverage objects.
Definition WsfCoverageAssetSpecification.hpp:43
@ cUNKNOWN
Definition WsfCoverageAssetSpecification.hpp:44
std::size_t NumSpecifications() const
Definition WsfCoverageAssetSpecification.hpp:61
const Asset & GetAsset(std::size_t aIndex) const
Definition WsfCoverageAssetSpecification.hpp:62
AssetSpecification(const AssetSpecification &aOther)=default
Definition WsfCoverage.cpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
A record read in from the input file.
Definition WsfCoverageAssetSpecification.hpp:53
AssetClass mType
Definition WsfCoverageAssetSpecification.hpp:54
bool SetAssetClass(const std::string &aAssetClass)
Definition WsfCoverageAssetSpecification.cpp:53
std::string mDeviceName
Definition WsfCoverageAssetSpecification.hpp:56
std::string mName
Definition WsfCoverageAssetSpecification.hpp:55
Copyrights Multiple, All Rights Reserved