Rapp Manager

class rocon_app_manager.RappManager

Robot App Manager ~ Rocon App Manager

_accept_invitation(req)
Parameters:req (rapp_manager_srvs.InviteRequest) – request
Returns:response message for the invitation
Return type:rapp_manager_srvs.InviteResponse(result, error_code, message)
_advertise_services(service_names)

Advertise rocon_app_manager services via the gateway, if it is available.

Parameters:service_names (strs) – rocon app manager service names
_determine_installed_rapps(rapps)

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
_determine_runnable_rapps()

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]
_filter_capability_unavailable_rapps(compatible_rapps)

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
_flip_all_connections(remote_name, connections, cancel_flag=False)

(Un)Flip connections to a remote gateway.

Parameters:
  • remote_name (str) – the name of the remote gateway to flip to.
  • connections – the dict of connection types(topic/service/action_xxx) names
  • cancel_flag (bool) – whether or not we are flipping (false) or unflipping (true)
Returns:

success or not, message

Return type:

bool, str

_init_services()

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!

_install_rapp(requested_rapp_name)

check if app can be installed

_monitor_rapp()

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

_process_invite(req)
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
_process_stop_app(req=None)

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.
_publish_rapp_list()

Publishes an updated list of available apps (in that order).

_publish_status()

Publish status updates whenever something significant changes, e.g. remote controller changed, or rapp started/stopped.

_set_platform_info()

Initialises the rapp manager with the appropriate platform info. This is part of the __init__ process.

Previous topic

Rocon App Manager

Next topic

Rapp

This Page