feat(core): add a slot to reset requirements in the sequencer
Description
The main goal is to add a slot in Sequencer to allow resetting data requirements (reset_requirements
), secondly, we need to remove the reset
attribute in requirements definition since it is replaced by the reset slot. And finally, it also contains a fix in config_manager
that allows to safely register requirements without defined uid in the xml.
When there wan't any uid defined, the created object wre added to
m_created_objects
map, but with an empty key, which would overwrite the previous one without warning. It still somewhat half-works becauseget_id()
is used in lazy generation mode which will generate a valid id which is used as real key in the global object map. This MR is just a better dealing of the case.
setting explicitly an uid in the XML will disallow the use of the reset slot because the object is recreated and the will use the same UID. For now, I choose to simply declare the requirement without uids, with the above patch.
How to test it?
Try project that make use of the reset slot.