use serde::{Deserialize, Serialize};
use crate::localsend_proto::{DeviceType, constants::PROTOCOL_VERSION_2};
use super::ProtocolType;
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MulticastDto {
pub alias: String,
pub version: Option<String>, pub device_model: Option<String>,
pub device_type: Option<DeviceType>, pub fingerprint: String,
pub port: Option<u16>, pub protocol: Option<ProtocolType>, pub download: Option<bool>, pub announcement: Option<bool>, pub announce: Option<bool>, }
impl MulticastDto {
pub fn v2(alias: impl ToString, device_model: Option<String>, device_type: DeviceType, fingerprint: impl ToString, port: u16, announcement: bool) -> Self {
Self {
alias: alias.to_string(),
version: Some(PROTOCOL_VERSION_2.to_string()),
device_model,
device_type: Some(device_type),
fingerprint: fingerprint.to_string(),
port: Some(port),
protocol: Some(ProtocolType::Http),
download: None,
announcement: Some(announcement),
announce: None,
}
}
}