maa_framework/controller/
dbg.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{error, internal};
4
5#[derive(Debug, Serialize, Deserialize, Default, Clone, Copy)]
6pub enum MaaDbgControllerType {
7    #[default]
8    Invalid,
9    CarouselImage,
10    ReplayRecording,
11}
12
13impl TryFrom<internal::MaaDbgControllerType> for MaaDbgControllerType {
14    type Error = error::Error;
15
16    fn try_from(value: internal::MaaDbgControllerType) -> Result<Self, Self::Error> {
17        match value {
18            internal::MaaDbgControllerTypeEnum_MaaDbgController_Invalid => {
19                Ok(MaaDbgControllerType::Invalid)
20            }
21            internal::MaaDbgControllerTypeEnum_MaaDbgControllerType_CarouselImage => {
22                Ok(MaaDbgControllerType::CarouselImage)
23            }
24            internal::MaaDbgControllerTypeEnum_MaaDbgControllerType_ReplayRecording => {
25                Ok(MaaDbgControllerType::ReplayRecording)
26            }
27            _ => Err(error::Error::MaaDbgControllerTypeConversionError(value)),
28        }
29    }
30}
31
32impl From<MaaDbgControllerType> for internal::MaaDbgControllerType {
33    fn from(value: MaaDbgControllerType) -> Self {
34        match value {
35            MaaDbgControllerType::Invalid => {
36                internal::MaaDbgControllerTypeEnum_MaaDbgController_Invalid
37            }
38            MaaDbgControllerType::CarouselImage => {
39                internal::MaaDbgControllerTypeEnum_MaaDbgControllerType_CarouselImage
40            }
41            MaaDbgControllerType::ReplayRecording => {
42                internal::MaaDbgControllerTypeEnum_MaaDbgControllerType_ReplayRecording
43            }
44        }
45    }
46}