...
The ActionSet contains the implementation of the operations which a capability can send to a device. For this reason, this ActionSet, will depend of the model, type and protocol to access. Each action is implemented for a device with these parameters. Each action is consist of commands with are being atomic operations which can be executed.
...
The profile manager provides the functionality to overwrite configured actions. This feature permits to the allows end users personalize to customize their actions which can be adapted to achieve their use cases.
The ProfileManager is implemented as a bundle which is listening continually, waiting some new profile to register in its list of profiles. When this profile is registered, this profile will be able to Action customization is done via Profiles. A Profile is a end user provided bundle containing its own implementation for some Mantychore configured actions. Profiles may be linked to a set of resources. Then, meaning that when a resource wants is to execute some an action of a capability, first, it will check if its profile contains some overwritten action for this action and capabilityis first checked for an implementation of that action.
ProfileManager stores loaded profiles and manages their lifecycle. It is implemented as a bundle which is continually listening for new profiles and registers them upon arrival. Registered profiles are then able to be linked to resources (with the restriction that a resource can be linked to only one profile). Association between a resource and a profile is indicated in the resource descriptor through the field profileId.
QueueManager component
This component is responsible of the execution of each action. It implements a queue and a list of operations to manage it. Furthemore, the queue implements a workflow where it is possible to restore the las last correct configuration if some operations did not work correctly. Before that Prior to execute a the list the of actions, the queue was goes in the PREPARE state, where it the configuration is saved the configuration. After that, it starts to execute each queued action (EXECUTE state) while these actions are executed it can be two different cases. If all it was actions are executed correctly, the queue commits all the changes and discards backup configuration (COMMIT state) and if it happened some error it restored the . If, on the contrary, some error happens during actions execution, the queue restores back up configuration in the ROLLBACK state.
...
The SessionManager controls the protocol components and provides connectivity to the different devices. The SessionManager searches available protocols among all services to register all the available protocols and when , registers them, and serves registered protocols' sessions upon request. i.e: When the QueueManager needs to connect with some device, it requests to the SessionManager which search among its configured protocol session, a correct session to connect.
...