Skip to main content

ocpp_types/v21/
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#[cfg(feature = "alloc")]
6#[derive(Debug, Clone, PartialEq, Eq)]
7#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
8pub struct ResetResponse<CustomDataType = crate::NoCustomData> {
9    #[cfg_attr(feature = "serde", serde(rename = "customData"))]
10    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
11    pub custom_data: Option<CustomDataType>,
12    pub status: ResetStatusEnum,
13    #[cfg_attr(feature = "serde", serde(rename = "statusInfo"))]
14    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
15    pub status_info: Option<StatusInfo<CustomDataType>>,
16}
17#[cfg(feature = "alloc")]
18impl<CustomDataType> crate::Action for ResetResponse<CustomDataType> {
19    const ACTION: &'static str = "Reset";
20}
21#[cfg(all(feature = "validate", feature = "alloc"))]
22impl<CustomDataType> crate::validate::Validate for ResetResponse<CustomDataType> {
23    fn validate(&self) -> Result<(), crate::validate::ValidationError> {
24        crate::validate::Validate::validate(&self.status)
25            .map_err(|error| error.in_field("status"))?;
26        if let Some(value) = &self.status_info {
27            crate::validate::Validate::validate(value)
28                .map_err(|error| error.in_field("statusInfo"))?;
29        }
30        Ok(())
31    }
32}
33#[cfg(not(feature = "alloc"))]
34#[derive(Debug, Clone, PartialEq, Eq)]
35#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
36pub struct ResetResponse<
37    CustomDataType = crate::NoCustomData,
38    const STATUS_INFO_ADDITIONAL_INFO_CAP: usize = 1024usize,
39> {
40    #[cfg_attr(feature = "serde", serde(rename = "customData"))]
41    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
42    pub custom_data: Option<CustomDataType>,
43    pub status: ResetStatusEnum,
44    #[cfg_attr(feature = "serde", serde(rename = "statusInfo"))]
45    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
46    pub status_info: Option<StatusInfo<CustomDataType, STATUS_INFO_ADDITIONAL_INFO_CAP>>,
47}
48#[cfg(not(feature = "alloc"))]
49impl<CustomDataType, const STATUS_INFO_ADDITIONAL_INFO_CAP: usize> crate::Action
50for ResetResponse<CustomDataType, STATUS_INFO_ADDITIONAL_INFO_CAP> {
51    const ACTION: &'static str = "Reset";
52}
53#[cfg(all(feature = "validate", not(feature = "alloc")))]
54impl<
55    CustomDataType,
56    const STATUS_INFO_ADDITIONAL_INFO_CAP: usize,
57> crate::validate::Validate
58for ResetResponse<CustomDataType, STATUS_INFO_ADDITIONAL_INFO_CAP> {
59    fn validate(&self) -> Result<(), crate::validate::ValidationError> {
60        crate::validate::Validate::validate(&self.status)
61            .map_err(|error| error.in_field("status"))?;
62        if let Some(value) = &self.status_info {
63            crate::validate::Validate::validate(value)
64                .map_err(|error| error.in_field("statusInfo"))?;
65        }
66        Ok(())
67    }
68}