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.
A structure of the message
A list of constants
this(Structure
structure = Structure(), Constant[]
constants = []);
-
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.
Namespaced typename (e.g. foo::bar::baz).
Request message (e.g. foo::bar::baz_Request).
Response message (e.g. foo::bar::baz_Response).
this(Message[]
messages);
Construct a Service object.
| Message[] messages |
A combination of request and response messages |
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.
Namespaced typename (e.g. foo::bar::baz)
Goal message (e.g. foo::bar::baz_Goal)
Result message (e.g. foo::bar::baz_Result)
Feeback message (e.g. foo::bar::baz_Feedback)
Service for sending goal (e.g. foo::bar::baz_SendGoal)
Service
getResultService;
Service for getting result (e.g. foo::bar::baz_GetResult)
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
| 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.
A list of depending IDL files
AbstractType[AbstractType]
typedefMap;
A typedef map
Content