Skip to main content

ocpp_types/v201/
reset_response.rs

1// @generated by ocpp-codegen from schemas/. Do not edit by hand -- run
2// `scripts/generate.sh` to regenerate; manual changes will be overwritten.
3
4use super::common::*;
5#[derive(Debug, Clone, PartialEq, Eq)]
6#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
7pub struct ResetResponse<CustomDataType = crate::NoCustomData> {
8    #[cfg_attr(feature = "serde", serde(rename = "customData"))]
9    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
10    pub custom_data: Option<CustomDataType>,
11    pub status: ResetStatusEnum,
12    #[cfg_attr(feature = "serde", serde(rename = "statusInfo"))]
13    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
14    pub status_info: Option<StatusInfo<CustomDataType>>,
15}
16impl<CustomDataType> crate::Action for ResetResponse<CustomDataType> {
17    const ACTION: &'static str = "Reset";
18}
19#[cfg(feature = "validate")]
20impl<CustomDataType> crate::validate::Validate for ResetResponse<CustomDataType> {
21    fn validate(&self) -> Result<(), crate::validate::ValidationError> {
22        crate::validate::Validate::validate(&self.status)
23            .map_err(|error| error.in_field("status"))?;
24        if let Some(value) = &self.status_info {
25            crate::validate::Validate::validate(value)
26                .map_err(|error| error.in_field("statusInfo"))?;
27        }
28        Ok(())
29    }
30}