Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update code to match refactoring of rosidl definitions #44

Merged
merged 1 commit into from
Apr 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions rosidl_generator_py/resource/_action.py.em
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@{
from rosidl_cmake import convert_camel_case_to_lower_case_underscore

action_name = '_' + convert_camel_case_to_lower_case_underscore(action.structure_type.name)
action_name = '_' + convert_camel_case_to_lower_case_underscore(action.namespaced_type.name)
module_name = '_' + convert_camel_case_to_lower_case_underscore(interface_path.stem)

TEMPLATE(
Expand Down Expand Up @@ -32,8 +32,8 @@ TEMPLATE(
}@


class Metaclass_@(action.structure_type.name)(type):
"""Metaclass of action '@(action.structure_type.name)'."""
class Metaclass_@(action.namespaced_type.name)(type):
"""Metaclass of action '@(action.namespaced_type.name)'."""

_TYPE_SUPPORT = None

Expand All @@ -46,12 +46,12 @@ class Metaclass_@(action.structure_type.name)(type):
import logging
import traceback
logger = logging.getLogger(
'@('.'.join(action.structure_type.namespaces + [action.structure_type.name]))')
'@('.'.join(action.namespaced_type.namespaces + [action.namespaced_type.name]))')
logger.debug(
'Failed to import needed modules for type support:\n' +
traceback.format_exc())
else:
cls._TYPE_SUPPORT = module.type_support_action__@('__'.join(action.structure_type.namespaces[1:]))_@(action_name)
cls._TYPE_SUPPORT = module.type_support_action__@('__'.join(action.namespaced_type.namespaces[1:]))_@(action_name)

from action_msgs.msg import _goal_status_array
if _goal_status_array.Metaclass_GoalStatusArray._TYPE_SUPPORT is None:
Expand All @@ -60,32 +60,32 @@ class Metaclass_@(action.structure_type.name)(type):
if _cancel_goal.Metaclass_CancelGoal._TYPE_SUPPORT is None:
_cancel_goal.Metaclass_CancelGoal.__import_type_support__()

from @('.'.join(action.structure_type.namespaces)) import @(module_name)
if @(module_name).Metaclass_@(action.send_goal_service.structure_type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.send_goal_service.structure_type.name).__import_type_support__()
if @(module_name).Metaclass_@(action.get_result_service.structure_type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.get_result_service.structure_type.name).__import_type_support__()
if @(module_name).Metaclass_@(action.feedback_message.structure.type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.feedback_message.structure.type.name).__import_type_support__()
from @('.'.join(action.namespaced_type.namespaces)) import @(module_name)
if @(module_name).Metaclass_@(action.send_goal_service.namespaced_type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.send_goal_service.namespaced_type.name).__import_type_support__()
if @(module_name).Metaclass_@(action.get_result_service.namespaced_type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.get_result_service.namespaced_type.name).__import_type_support__()
if @(module_name).Metaclass_@(action.feedback_message.structure.namespaced_type.name)._TYPE_SUPPORT is None:
@(module_name).Metaclass_@(action.feedback_message.structure.namespaced_type.name).__import_type_support__()


class @(action.structure_type.name)(metaclass=Metaclass_@(action.structure_type.name)):
class @(action.namespaced_type.name)(metaclass=Metaclass_@(action.namespaced_type.name)):

# The goal message defined in the action definition.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.goal.structure.type.name) as Goal
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.goal.structure.namespaced_type.name) as Goal
# The result message defined in the action definition.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.result.structure.type.name) as Result
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.result.structure.namespaced_type.name) as Result
# The feedback message defined in the action definition.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.feedback.structure.type.name) as Feedback
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.feedback.structure.namespaced_type.name) as Feedback

class Impl:

# The send_goal service using a wrapped version of the goal message as a request.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.send_goal_service.structure_type.name) as SendGoalService
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.send_goal_service.namespaced_type.name) as SendGoalService
# The get_result service using a wrapped version of the result message as a response.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.get_result_service.structure_type.name) as GetResultService
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.get_result_service.namespaced_type.name) as GetResultService
# The feedback message with generic fields which wraps the feedback message.
from @('.'.join(action.structure_type.namespaces)).@(module_name) import @(action.feedback_message.structure.type.name) as FeedbackMessage
from @('.'.join(action.namespaced_type.namespaces)).@(module_name) import @(action.feedback_message.structure.namespaced_type.name) as FeedbackMessage

# The generic service to cancel a goal.
from action_msgs.srv._cancel_goal import CancelGoal as CancelGoalService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@{
TEMPLATE(
'_msg_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
message=action.goal, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -12,7 +12,7 @@ TEMPLATE(
@{
TEMPLATE(
'_msg_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
message=action.result, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -21,7 +21,7 @@ TEMPLATE(
@{
TEMPLATE(
'_msg_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
message=action.feedback, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -30,7 +30,7 @@ TEMPLATE(
@{
TEMPLATE(
'_srv_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
service=action.send_goal_service, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -39,7 +39,7 @@ TEMPLATE(
@{
TEMPLATE(
'_srv_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
service=action.get_result_service, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -48,20 +48,20 @@ TEMPLATE(
@{
TEMPLATE(
'_msg_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
message=action.feedback_message, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
}@

@{
from rosidl_cmake import convert_camel_case_to_lower_case_underscore
type_name = convert_camel_case_to_lower_case_underscore(action.structure_type.name)
type_name = convert_camel_case_to_lower_case_underscore(action.namespaced_type.name)
function_name = 'type_support'
}@

@{
register_function = '_register_action_type__' + '__'.join(action.structure_type.namespaces[1:] + [type_name])
register_function = '_register_action_type__' + '__'.join(action.namespaced_type.namespaces[1:] + [type_name])
register_functions.append(register_function)
}@
int8_t
Expand All @@ -70,15 +70,15 @@ int8_t
int8_t err;
PyObject * pyobject_@(function_name) = NULL;
pyobject_@(function_name) = PyCapsule_New(
(void *)ROSIDL_TYPESUPPORT_INTERFACE__ACTION_SYMBOL_NAME(rosidl_typesupport_c, @(', '.join(action.structure_type.namespaces + [action.structure_type.name])))(),
(void *)ROSIDL_TYPESUPPORT_INTERFACE__ACTION_SYMBOL_NAME(rosidl_typesupport_c, @(', '.join(action.namespaced_type.namespaces + [action.namespaced_type.name])))(),
NULL, NULL);
if (!pyobject_@(function_name)) {
// previously added objects will be removed when the module is destroyed
return -1;
}
err = PyModule_AddObject(
pymodule,
"@(function_name)_action__@('__'.join(action.structure_type.namespaces[1:] + [type_name]))",
"@(function_name)_action__@('__'.join(action.namespaced_type.namespaces[1:] + [type_name]))",
pyobject_@(function_name));
if (err) {
// the created capsule needs to be decremented
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ static struct PyModuleDef @(package_name)__module = {
@{
TEMPLATE(
'_msg_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=message.structure.type, message=message,
package_name=package_name, idl_type=message.structure.namespaced_type, message=message,
typesupport_impl=typesupport_impl, include_directives=include_directives,
register_functions=register_functions)
}@
Expand All @@ -60,7 +60,7 @@ from rosidl_parser.definition import Service
@{
TEMPLATE(
'_srv_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=service.structure_type,
package_name=package_name, idl_type=service.namespaced_type,
service=service, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand All @@ -78,7 +78,7 @@ from rosidl_parser.definition import Action
@{
TEMPLATE(
'_action_pkg_typesupport_entry_point.c.em',
package_name=package_name, idl_type=action.structure_type,
package_name=package_name, idl_type=action.namespaced_type,
action=action, typesupport_impl=typesupport_impl,
include_directives=include_directives,
register_functions=register_functions)
Expand Down
Loading