13 const std::unordered_set<std::string>& tags)
14 :
Module(owner, name, description, tags) {
16 throw ChimeraTK::logic_error(
"ModuleGroup owner cannot be nullptr");
31 _model = std::move(other._model);
33 if(_model.isValid()) {
34 _model.informMove(*
this);
virtual void unregisterModule(Module *module)
Unregister another module as a sub-module.
ModuleGroupProxy add(ModuleGroup &module)
void remove(ApplicationModule &module)
bool isValid() const
Check if the model is valid.
std::string getFullyQualifiedPath() const
Return the fully qualified path.
void unregisterModule(Module *module) override
Unregister another module as a sub-module.
ModuleGroup & operator=(ModuleGroup &&other) noexcept
Move assignment.
ChimeraTK::Model::ModuleGroupProxy getModel()
Return the application model proxy representing this module.
ModuleGroup()=default
Default constructor to allow late initialisation of module groups.
std::string getVirtualQualifiedName() const override
Base class for ApplicationModule and DeviceModule, to have a common interface for these module types.
Module & operator=(Module &&other) noexcept
Move assignment operator.
InvalidityTracer application module.