37 lines
897 B
Rust
37 lines
897 B
Rust
use std::collections::HashMap;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::commands::{
|
|
Command, Request, RequestParserResult, ResponseAttributes, ResponseParserError,
|
|
};
|
|
|
|
pub struct Outputs;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
pub struct Output {
|
|
pub id: u64,
|
|
pub name: String,
|
|
pub plugin: String,
|
|
pub enabled: bool,
|
|
pub attribute: HashMap<String, String>,
|
|
}
|
|
|
|
pub type OutputsResponse = Vec<Output>;
|
|
|
|
impl Command for Outputs {
|
|
type Response = OutputsResponse;
|
|
const COMMAND: &'static str = "outputs";
|
|
|
|
fn parse_request(mut parts: std::str::SplitWhitespace<'_>) -> RequestParserResult<'_> {
|
|
debug_assert!(parts.next().is_none());
|
|
Ok((Request::Outputs, ""))
|
|
}
|
|
|
|
fn parse_response(
|
|
_parts: ResponseAttributes<'_>,
|
|
) -> Result<Self::Response, ResponseParserError> {
|
|
unimplemented!()
|
|
}
|
|
}
|