|
LRAUV
revA
|
Module is the abstract base class for a collection of Component objects that can be contained in a loadable module. More...
#include <Module.h>


Public Member Functions | |
| virtual | ~Module () |
| destructor More... | |
| virtual FlexArray< Component * > * | getComponents () |
| returns a vector of components in the module More... | |
| virtual const Str & | getName () const |
| returns the name of the module More... | |
| virtual const Str & | getDescription () |
| returns a description of the module More... | |
| virtual void | loadComponents (Logger &logger)=0 |
| loads the collection of components belonging to this module More... | |
| void | registerComponent (Component *comp) |
| void | registerBehaviorCreator (const Str &creatorName, BehaviorCreator behaviorCreator) |
| void | unregisterComponent (Component *comp) |
Protected Member Functions | |
| Module (Str name, Str description) | |
| Protected constructor for abstract base class. More... | |
| bool | loadAtStartup (const ConfigURI &loadCfg, Logger &logger, bool forceIfMissing=false) |
Protected Attributes | |
| Str | name_ |
| Str | description_ |
| FlexArray< Component * > | components_ |
Private Member Functions | |
| Module (const Module &old) | |
Module is the abstract base class for a collection of Component objects that can be contained in a loadable module.
Typically, an implementation of Module will call: registerComponent( new MyComponent() ); for each Component in the module, except MissionComponents, which require a call to registerBehaviorCreator( MyComponentIF::NAME, &MyComponent::CreateBehavior ); for each Behavior.
Module implementations must implement:
|
virtual |
destructor
References components_, FlexArrayBase::isEmpty(), FlexArray< T >::pop(), and ComponentRegistry::Remove().
Protected constructor for abstract base class.
|
private |
returns a vector of components in the module
returns a vector of components in the module
References components_.
|
virtual |
returns a description of the module
References description_.
Referenced by ModuleLoader::loadModule().
|
virtual |
returns the name of the module
References name_.
Referenced by Slate::ConfigureNewDataElement(), and ModuleLoader::loadModule().
|
protected |
References Units::BOOL, and Slate::ReadOnce().
Referenced by BITModule::loadComponents(), ControlModule::loadComponents(), EstimationModule::loadComponents(), DerivationModule::loadComponents(), ScienceModule::loadComponents(), SampleModule::loadComponents(), NavigationModule::loadComponents(), ContorllerModule::loadComponents(), SensorModule::loadComponents(), and SimulatorModule::loadComponents().
|
pure virtual |
loads the collection of components belonging to this module
Implemented in SimulatorModule, SensorModule, NavigationModule, ContorllerModule, BITModule, ControlModule, DerivationModule, EstimationModule, GuidanceModule, SampleModule, ScienceModule, and TriggerModule.
Referenced by ModuleLoader::loadModule().
| void Module::registerBehaviorCreator | ( | const Str & | creatorName, |
| BehaviorCreator | behaviorCreator | ||
| ) |
| void Module::registerComponent | ( | Component * | comp | ) |
References components_, Component::getLogger(), ComponentRegistry::Insert(), Logger::logComponentLoad(), and FlexArray< T >::push().
Referenced by BITModule::loadComponents(), ControlModule::loadComponents(), EstimationModule::loadComponents(), DerivationModule::loadComponents(), ScienceModule::loadComponents(), SampleModule::loadComponents(), NavigationModule::loadComponents(), ContorllerModule::loadComponents(), SensorModule::loadComponents(), and SimulatorModule::loadComponents().
| void Module::unregisterComponent | ( | Component * | comp | ) |
Referenced by getComponents(), registerComponent(), unregisterComponent(), and ~Module().
|
protected |
Referenced by getDescription().