WSF
WsfEM_AttenuationTypes.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 WSFEM_ATTENUATIONTYPES_HPP
13#define WSFEM_ATTENUATIONTYPES_HPP
14
15#include <functional>
16#include <list>
17
18#include "WsfEM_Attenuation.hpp"
19#include "WsfObjectTypeList.hpp"
20
21class WsfEM_AttenuationTypes : public WsfObjectTypeList<WsfEM_Attenuation>
22{
23public:
25
27 static WSF_EXPORT const WsfEM_AttenuationTypes& Get(const WsfScenario& aScenario);
29
30 typedef std::function<WsfEM_Attenuation*(const std::string&)> Factory;
31
33 typedef std::list<Factory> ObjectFactoryList;
34
35 WSF_EXPORT void AddObjectFactory(const Factory& aFactory);
36 LoadResult LoadType(UtInput& aInput) override;
37 bool LoadReference(UtInput& aInput, WsfStringId& aTypeName);
38 WsfEM_Attenuation* Clone(WsfStringId aTypeName) const override;
39
40private:
41 WsfEM_Attenuation* CreateInstance(const std::string& aTypeName) const;
42
43 // The list of object factories.
44 ObjectFactoryList mObjectFactoryList;
45 int mUniqueId;
46};
47
48#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfEM_AttenuationTypes(WsfScenario &aScenario)
Definition WsfEM_AttenuationTypes.cpp:56
std::function< WsfEM_Attenuation *(const std::string &)> Factory
Definition WsfEM_AttenuationTypes.hpp:30
WSF_EXPORT void AddObjectFactory(const Factory &aFactory)
Definition WsfEM_AttenuationTypes.cpp:69
static WSF_EXPORT WsfEM_AttenuationTypes & Get(WsfScenario &aScenario)
Return a modifiable reference to the type list associated with the specified scenario.
Definition WsfEM_AttenuationTypes.cpp:43
LoadResult LoadType(UtInput &aInput) override
Definition WsfEM_AttenuationTypes.cpp:166
std::list< Factory > ObjectFactoryList
Definition WsfEM_AttenuationTypes.hpp:33
bool LoadReference(UtInput &aInput, WsfStringId &aTypeName)
Definition WsfEM_AttenuationTypes.cpp:99
WsfEM_Attenuation * Clone(WsfStringId aTypeName) const override
Definition WsfEM_AttenuationTypes.cpp:82
Definition WsfEM_Attenuation.hpp:28
WsfObjectTypeList(WsfScenario &aScenario, unsigned int aFlags, const std::string &aBlockName)
Definition WsfObjectTypeList.hpp:76
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Copyrights Multiple, All Rights Reserved