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