+ /*!
+ Creates a new servant instance of a component.
+ Component library must be loaded.
+ \param componentName Name of the component which will be registered
+ in Registry and Name Service,
+ (instance number suffix added to the registered name)
+ \param studyId 0 if instance is not associated to a study,
+ >0 otherwise (== study id)
+ \return a loaded component
+ */
+ Component create_component_instance(in string componentName,
+ in long studyId);
+
+ /*!
+ Finds a servant instance of a component
+ \param registeredName Name of the component in Registry or Name Service,
+ without instance suffix number
+ \param studyId 0 if instance is not associated to a study,
+ >0 otherwise (== study id)
+ \return the first instance found with same studyId
+ */
+ Component find_component_instance(in string registeredName,
+ in long studyId);
+
+ /*!
+ Find a servant instance of a component, or create a new one.
+ Loads the component library if needed.
+ Only applicable to multiStudy components.
+ \param nameToRegister Name of the component which will be registered
+ in Registry (or Name Service)
+ \param componentName Name of the constructed library of the %component
+ (not used any more, give empty string)
+ \return a loaded component
+ */
+ Component load_impl(in string nameToRegister,
+ in string componentName);
+
+ /*!
+ Stops the component servant, and deletes all related objects
+ \param component_i Component to be removed
+ */