wards 0.1.10

Библиотека для камеры Beward B2530RZQ-LP
Documentation
use crate::{
    camera::{Camera, CameraFeatures},
    errors::WardError,
};

pub trait ControllerFeatures {
    /// Открыть тревожный выход камеры
    fn controller_open(&self) -> Result<(), WardError>;
    /// Закрыть тревожный выход камеры
    fn controller_close(&self) -> Result<(), WardError>;
}

impl ControllerFeatures for Camera {
    fn controller_open(&self) -> Result<(), WardError> {
        let path = format!(
            "/alarmout_cgi?action=set&output={}&status=1",
            &self.alarm_out
        );

        Ok(self.send_request(&path)?.check_status_code()?)
    }

    fn controller_close(&self) -> Result<(), WardError> {
        let path = format!(
            "/alarmout_cgi?action=set&output={}&status=0",
            &self.alarm_out
        );

        Ok(self.send_request(&path)?.check_status_code()?)
    }
}