#include <OMKTriggerContainerExtension.h>
Inheritance diagram for OMK::TriggerContainerExtension:
Public Member Functions | |
DECLARE_EXTENSION_FACTORY (TriggerContainerExtension) | |
Factory and constructor/destructor. | |
Protected Member Functions | |
Configuration loaders | |
virtual bool | loadObjectParameters (const ConfigurationParameterDescriptor *node) |
Configuration parameters loader of TriggerContainerExtension. | |
virtual bool | loadExtensionParameters (const ConfigurationParameterDescriptor *node) |
Configuration parameters loader of TriggerContainerExtension. | |
Computation | |
virtual void | preComputeParameters () |
This method is called during compute by the extensible simulated object. | |
virtual void | postComputeParameters () |
This method is called during compute by the extensible simulated object. | |
Protected Attributes | |
ExtensionManager | _onExtensionsSet |
Manager for On. | |
ExtensionManager | _offExtensionsSet |
Manager for Off. | |
IAttributeBaseT< bool > * | _trigger |
The trigger. |
The trigger is a OMK::IAttributeBaseT< bool > "boolean attribute" which defines which extensions list is use during compute steps.
Warning The event listeners declared by the extension, are not desactivated.
The configuration is similar to the extensions in a simulated object.
container { Class TriggerContainer ExtensionsOn { ... LoadParametersOrder [ ... ] PreComputeOrder [ ... ] PostComputeOrder [ ... ] } ExtensionsOff { ... LoadParametersOrder [ ... ] PreComputeOrder [ ... ] PostComputeOrder [ ... ] } TriggerId "TheTriggerAttributeId" // the id of the boolean attribute which is the trigger }
Definition at line 75 of file OMKTriggerContainerExtension.h.
OMK::TriggerContainerExtension::DECLARE_EXTENSION_FACTORY | ( | TriggerContainerExtension | ) |
Factory and constructor/destructor.
bool TriggerContainerExtension::loadObjectParameters | ( | const ConfigurationParameterDescriptor * | node | ) | [protected, virtual] |
Configuration parameters loader of TriggerContainerExtension.
Reimplemented from OMK::Extension.
Definition at line 59 of file OMKTriggerContainerExtension.cpp.
References _offExtensionsSet, _onExtensionsSet, and OMK::ExtensionManager::loadFromObjectParameters().
00060 { 00061 //---Load extension 00062 return _onExtensionsSet.loadFromObjectParameters( node ) 00063 && _offExtensionsSet.loadFromObjectParameters( node ) ; 00064 }
bool TriggerContainerExtension::loadExtensionParameters | ( | const ConfigurationParameterDescriptor * | node | ) | [protected, virtual] |
Configuration parameters loader of TriggerContainerExtension.
Reimplemented from OMK::Extension.
Definition at line 66 of file OMKTriggerContainerExtension.cpp.
References _offExtensionsSet, _onExtensionsSet, OMK::ExtensionManager::_orderedExtensionsForLoadParameters, OMK::ExtensionManager::_orderedExtensionsForPostCompute, OMK::ExtensionManager::_orderedExtensionsForPreCompute, OMK::ExtensionT< SimulatedObjectType >::_owner, _trigger, OMK::ParametersAccessor::get(), OMK::ExtensionManager::loadFromExtensionsParameters(), and OMK::ExtensionManager::loadOrder().
00067 { 00068 bool ok = true ; 00069 //--- The trigger boolean attribute 00070 Name triggerId ; 00071 ok = ok && ParametersAccessor::get( node, "TriggerId", triggerId, _owner ) ; 00072 _trigger = _owner->getBaseAttribute< bool >( triggerId ) ; 00073 ok = ok && _trigger != 0 ; 00074 //---Load Extension On 00075 const ConfigurationParameterDescriptor* extensionsNode = 0 ; 00076 ParametersAccessor::get( node, "ExtensionsOn", extensionsNode ) ; 00077 //Load Extension order if there is one 00078 _onExtensionsSet.loadOrder( extensionsNode, "LoadParametersOrder", _onExtensionsSet._orderedExtensionsForLoadParameters ) ; 00079 //Load extension 00080 ok = ok && _onExtensionsSet.loadFromExtensionsParameters( extensionsNode ) ; 00081 _onExtensionsSet.loadOrder( extensionsNode, "PreComputeOrder" , _onExtensionsSet._orderedExtensionsForPreCompute ) ; 00082 _onExtensionsSet.loadOrder( extensionsNode, "PostComputeOrder" , _onExtensionsSet._orderedExtensionsForPostCompute ) ; 00083 00084 //---Load Extension Off 00085 extensionsNode = 0 ; 00086 ParametersAccessor::get( node, "ExtensionsOff", extensionsNode ) ; 00087 //Load Extension order if there is one 00088 _offExtensionsSet.loadOrder( extensionsNode, "LoadParametersOrder", _offExtensionsSet._orderedExtensionsForLoadParameters ) ; 00089 //Load extension 00090 ok = ok && _offExtensionsSet.loadFromExtensionsParameters( extensionsNode ) ; 00091 _offExtensionsSet.loadOrder( extensionsNode, "PreComputeOrder" , _offExtensionsSet._orderedExtensionsForPreCompute ) ; 00092 _offExtensionsSet.loadOrder( extensionsNode, "PostComputeOrder" , _offExtensionsSet._orderedExtensionsForPostCompute ) ; 00093 00094 return ok ; 00095 }
void TriggerContainerExtension::preComputeParameters | ( | ) | [protected, virtual] |
This method is called during compute by the extensible simulated object.
Reimplemented from OMK::Extension.
Definition at line 97 of file OMKTriggerContainerExtension.cpp.
References _offExtensionsSet, _onExtensionsSet, _trigger, and OMK::IAccessorT< T >::get().
00098 { 00099 ( _trigger->get() ? _onExtensionsSet : _offExtensionsSet ).preComputeExtension() ; 00100 }
void TriggerContainerExtension::postComputeParameters | ( | ) | [protected, virtual] |
This method is called during compute by the extensible simulated object.
Reimplemented from OMK::Extension.
Definition at line 102 of file OMKTriggerContainerExtension.cpp.
References _offExtensionsSet, _onExtensionsSet, _trigger, and OMK::IAccessorT< T >::get().
00103 { 00104 ( _trigger->get() ? _onExtensionsSet : _offExtensionsSet ).postComputeExtension() ; 00105 }
Manager for On.
Definition at line 101 of file OMKTriggerContainerExtension.h.
Referenced by loadExtensionParameters(), loadObjectParameters(), postComputeParameters(), and preComputeParameters().
Manager for Off.
Definition at line 103 of file OMKTriggerContainerExtension.h.
Referenced by loadExtensionParameters(), loadObjectParameters(), postComputeParameters(), and preComputeParameters().
IAttributeBaseT< bool >* OMK::TriggerContainerExtension::_trigger [protected] |
The trigger.
Definition at line 105 of file OMKTriggerContainerExtension.h.
Referenced by loadExtensionParameters(), postComputeParameters(), and preComputeParameters().
Documentation generated on Mon Jun 9 11:46:03 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |