|
WSF
|
#include <WsfCommMediumFactory.hpp>
Public Types | |
| using | FactoryMap = std::unordered_map<int, std::unique_ptr<FactoryInterface>> |
Public Member Functions | |
| FactoryManager (WsfScenario &aScenario) | |
| virtual | ~FactoryManager ()=default |
| FactoryManager (const FactoryManager &aSrc)=delete | |
| FactoryManager (FactoryManager &&aSrc)=delete | |
| template<typename MEDIUM_TYPE> | |
| void | AddFactory (std::unique_ptr< Factory< MEDIUM_TYPE > > aFactory) |
| Template function requires provision of derived type to ensure correct functionality/assignments. | |
| bool | ProcessInput (UtInput &aInput, Container &aParent) const |
| bool | ProcessAddOrEditCommand (UtInput &aInput, Container &aParent, bool aIsAdding) const |
| bool | ProcessDeleteCommand (UtInput &aInput, Container &aParent) const |
The factory manager class, which handles the registration of medium factories, and the correct processing of input for such classes based on the type of factory, and the valid types available for the parent class medium container. Since not all mediums may be valid for all object types, this restricts the types of mediums parsed for each parent container.
Since this class acts fundamentally different from typical components in runtime instantiation and input parsing, this object is held by the medium typelist itself. Users are required to query the medium typelist for this functionality.
| using wsf::comm::medium::FactoryManager::FactoryMap = std::unordered_map<int, std::unique_ptr<FactoryInterface>> |
|
inline |
Referenced by FactoryManager(), and FactoryManager().
|
virtualdefault |
|
delete |
References FactoryManager().
|
delete |
References FactoryManager().
|
inline |
Template function requires provision of derived type to ensure correct functionality/assignments.
Referenced by wsf::comm::medium::Guided::RegisterFactory(), and wsf::comm::medium::Unguided::RegisterFactory().
|
inline |
References wsf::comm::medium::Container::GetValidMediums().
|
inline |
References wsf::comm::medium::Container::GetMedium().
|
inline |
References wsf::comm::medium::Container::GetValidMediums().