macro_rules! define_operation_with_response {
(
operation: $op_struct:ident,
action: $action:literal,
service: $service:ident,
request: {
$($field:ident: $field_type:ty),* $(,)?
},
response: $response_struct:ident {
$($resp_field:ident: $resp_type:ty),* $(,)?
},
xml_mapping: {
$($xml_field:ident: $xml_path:literal),* $(,)?
} $(,)?
) => { ... };
}Expand description
Macro for defining operations with XML response parsing
§Example
ⓘ
define_operation_with_response! {
operation: GetVolumeOperation,
action: "GetVolume",
service: RenderingControl,
request: {
channel: String,
},
response: GetVolumeResponse {
current_volume: u8,
},
xml_mapping: {
current_volume: "CurrentVolume",
},
}