42 lines
928 B
Rust
42 lines
928 B
Rust
use std::collections::HashMap;
|
|
|
|
use crate::enums::{RecordingDiskStatus, RecordingError, RecordingStatus};
|
|
|
|
use super::common::Timecode;
|
|
|
|
#[derive(Getters, new)]
|
|
pub struct RecordingState {
|
|
pub status: Option<RecordingStateStatus>,
|
|
pub properties: RecordingStateProperties,
|
|
|
|
pub duration: Option<Timecode>,
|
|
|
|
pub disks: HashMap<u64, RecordingDiskProperties>
|
|
}
|
|
|
|
#[derive(Getters, new)]
|
|
pub struct RecordingDiskProperties {
|
|
pub disk_id: u64,
|
|
pub volume_name: String,
|
|
pub recording_time_available: u64,
|
|
pub status: RecordingDiskStatus
|
|
}
|
|
|
|
#[derive(Getters, new)]
|
|
pub struct RecordingStateStatus {
|
|
pub state: RecordingStatus,
|
|
pub error: RecordingError,
|
|
|
|
pub recording_time_available: u64
|
|
}
|
|
|
|
#[derive(Getters, new)]
|
|
pub struct RecordingStateProperties {
|
|
pub filename: String,
|
|
|
|
pub working_set_1_disk_id: u64,
|
|
pub working_set_2_disk_id: u64,
|
|
|
|
pub record_in_all_cameras: bool
|
|
}
|