Robot App Manager ~ Rocon App Manager
Parameters: | req (rapp_manager_srvs.InviteRequest) – request |
---|---|
Returns: | response message for the invitation |
Return type: | rapp_manager_srvs.InviteResponse(result, error_code, message) |
Advertise rocon_app_manager services via the gateway, if it is available.
Parameters: | service_names (strs) – rocon app manager service names |
---|
Determines, which rapps have all their dependencies installed and which not.
params rapps: a list of rapps type rapps: dict returns: runnable rapps, installable rapps, noninstallable rapps rtype: dict, dict, dict
Prune unsupported apps due to lack of support for required capabilities.
Returns: | incompatible app list dictionaries for capability incompatibilities respectively |
---|---|
Return type: | {rocon_app_manager.Rapp}, [str], [str] |
Filters out rapps which does not meet the platform’s capability
Params compatible_rapps: | |
---|---|
Platform compatible rapp dict | |
Returns: | runnable rapp, capability filtered rapp |
Return type: | dict, dict |
(Un)Flip connections to a remote gateway.
Parameters: | |
---|---|
Returns: | success or not, message |
Return type: | bool, str |
This initialises all the app manager services. It depends on whether we’re initialising for standalone, or connected (pairing/concert) modes. This should not be activated multiply!
check if app can be installed
Monitors an executing rapp’s status to determine if it’s finished yet or not.Move this to the rapp_manager and pass it in via the app_monitor variable in the constructor.
https://github.com/robotics-in-concert/rocon_app_platform/issues/31
Todo: | This needs better arranging for logic. Currently it ignores whitelists/blacklists if the local_remote_controllers |
---|
only is flagged. Not an urgent use case though.
To fix, just do abort checks for local remote controllers first, then put it through the rest of the logic as well.
Parameters: | req (rapp_manager_srvs.InviteRequest) – Invitation request |
---|---|
Returns: | Response |
Return type: | rapp_manager_srvs.InviteResponse |
Stops a currently running rapp. This can be triggered via the stop_app service call (in which case req is configured), or if the rapp monitoring thread detects that it has naturally stopped by itself (in which case req is None).
Parameters: | req – variable configured when triggered from the service call. |
---|
Publishes an updated list of available apps (in that order).
Publish status updates whenever something significant changes, e.g. remote controller changed, or rapp started/stopped.
Initialises the rapp manager with the appropriate platform info. This is part of the __init__ process.