Better support default arguments for defs->component() with specific interface of modern component
If we have a component created from the current template, its interface is, for example
component_tutorials::components::random_number_server::ComponentInterface
When using it like this in a client:
component_tutorials::components::random_number_server::ComponentInterfacePrx server;
armarx::PropertyDefinitionsPtr
Component::createPropertyDefinitions()
{
armarx::PropertyDefinitionsPtr def = new armarx::ComponentPropertyDefinitions(getConfigIdentifier());
def->component(server);
return def;
}
The generated property is
--ArmarX.random_number_client.cmp.Component = arg
Ice object name of the `Component`
component.
(Default: Component)
which is not really expressive.
This change uses the last namespace of the full type name (random_number_server
in the example) if the class name is ComponentInterface
,
resulting in this property:
--ArmarX.random_number_client.cmp.random_number_server = arg
Ice object name of the
`random_number_server` component.
(Default: random_number_server)