|
WSF
|
#include <WsfComponentFactoryList.hpp>
Classes | |
| class | Iterator |
Public Types | |
| typedef std::vector< std::unique_ptr< WsfComponentFactoryBase > > | FactoryList |
| typedef WsfComponentFactory< PARENT_TYPE > | FactoryType |
Iterative calls to the methods in WsfComponentFactory. | |
See WsfComponentFactory for specific methods. | |
| static void | PreInput (const WsfScenario &aScenario, PARENT_TYPE &aParent) |
| static bool | ProcessInput (const WsfScenario &aScenario, UtInput &aInput, PARENT_TYPE &aParent) |
| static bool | ProcessAddOrEditCommand (const WsfScenario &aScenario, UtInput &aInput, PARENT_TYPE &aParent, bool aIsAdding) |
| static void | ProcessDeleteCommand (const WsfScenario &aScenario, UtInput &aInput, PARENT_TYPE &aParent) |
| static bool | PreInitialize (const WsfScenario &aScenario, double aSimTime, PARENT_TYPE &aParent) |
A templated class to simplify the use of component factories.
The component factory list can contain factories that apply to different parent classes. It always contains factories for those components that are part of WsfPlatform, but it may also include factories for other types of parent classes, e.g. WsfProcessor. This class contains static methods which parallel one-for-one the virtual methods in WsfComponentFactory. The static methods iterate over the component factory list and invoke only the factories that pertain to the class of the invoker.
For instance, to invoke the PreInitialize method of the factories that pertain only to WsfPlatform, WsfPlatform might do the following:
While WsfProcessor would do the following:
The static methods will iterate over the factory list and invoke ONLY those factories that pertain to the invoker.
NOTE: This is NOT meant to be included in another header file. It is pretty heavy and requires the user to include the following header files.
| typedef std::vector<std::unique_ptr<WsfComponentFactoryBase> > WsfComponentFactoryList< PARENT_TYPE >::FactoryList |
| typedef WsfComponentFactory<PARENT_TYPE> WsfComponentFactoryList< PARENT_TYPE >::FactoryType |
|
inlinestatic |
References WsfComponentFactoryList< PARENT_TYPE >::Iterator::AtEnd(), and ok.
Referenced by WsfEM_Rcvr::Initialize(), WsfEM_Xmtr::Initialize(), WsfPlatform::Initialize(), wsf::comm::Comm::PreInitialize(), wsf::comm::router::Router::PreInitialize(), WsfProcessor::PreInitialize(), WsfSensor::PreInitialize(), and WsfWeapon::PreInitialize().
|
inlinestatic |
|
inlinestatic |
References WsfComponentFactoryList< PARENT_TYPE >::Iterator::AtEnd().
Referenced by wsf::comm::Comm::ProcessInput(), and wsf::comm::router::Router::ProcessInput().
|
inlinestatic |
References WsfComponentFactoryList< PARENT_TYPE >::Iterator::AtEnd().
Referenced by wsf::comm::Comm::ProcessInput(), and wsf::comm::router::Router::ProcessInput().
|
inlinestatic |
References WsfComponentFactoryList< PARENT_TYPE >::Iterator::AtEnd().
Referenced by wsf::comm::Comm::ProcessInput(), wsf::comm::router::Router::ProcessInput(), WsfEM_Rcvr::ProcessInput(), WsfEM_Xmtr::ProcessInput(), WsfPlatform::ProcessInput(), WsfProcessor::ProcessInput(), WsfSensor::ProcessInput(), and WsfWeapon::ProcessInput().