rosidl_parser.definition.rosidl

class Message;
Represent ROSIDL message (.msg).
A message has one structure and more than zero constants. In IDL file, constants are in foo::bar::baz_Constants module. In this case, the constants are associated to foo::bar::baz structure. If an IDL file is message, the structure is in msg module.
Structure structure;
A structure of the message
Constant[] constants;
A list of constants
this(Structure structure = Structure(), Constant[] constants = []);
class Service;
Represent ROSIDL service (.srv).
A Service has two message: request and response. When a service name is foo::bar::baz, the request and response structure name is foo::bar::baz_Request and foor::bar::baz_Response respectively in IDL file. Note that there is no Service representation directly in IDL file, but is a combination of request and response message in srv module.
NamespacedType type;
Namespaced typename (e.g. foo::bar::baz).
Message request;
Request message (e.g. foo::bar::baz_Request).
Message response;
Response message (e.g. foo::bar::baz_Response).
this(Message[] messages);
Construct a Service object.
Parameters:
Message[] messages A combination of request and response messages
class Action;
Represent ROSIDL action (.action).
An Action has tree structures, goal, result and feedback as public APIs,and whose suffixes are _Goal, _Result and _Feedback respectively. As same as Service, there is no Action representation directly in IDL file, but is a combination of these tree structure in action module. In addition, two service (sendGoalService and getResultService) and one message (feedbackMessage) are required to work as Action. They will be automatically constructed from first tree structures.
NamespacedType type;
Namespaced typename (e.g. foo::bar::baz)
Message goal;
Goal message (e.g. foo::bar::baz_Goal)
Message result;
Result message (e.g. foo::bar::baz_Result)
Message feedback;
Feeback message (e.g. foo::bar::baz_Feedback)
Service sendGoalService;
Service for sending goal (e.g. foo::bar::baz_SendGoal)
Service getResultService;
Service for getting result (e.g. foo::bar::baz_GetResult)
Message feedbackMessage;
Message for getting feedback (e.g. foo::bar::baz_FeedbackMessage)
static immutable Include[] implicitIncludes;
Implicit depending IDL files.
this(Message[] messages);
COnstruct an Action object
Parameters:
Message[] messages A combination of goal, result and feedback messages
struct IdlFile(T) if (is(T == Message) || is(T == Service) || is(T == Action));
Represent IDL file
An IDL file is constructed with
  • includes: A list of depending IDL files
  • typedefMap: A typedef map
  • Message|Service|Action: Content
If the content is Action, implicitIncludes are added to includes.
Include[] includes;
A list of depending IDL files
AbstractType[AbstractType] typedefMap;
A typedef map
T data;
Content