use serde;
use serde::{Serialize, Deserialize};
use serde_repr::{Deserialize_repr, Serialize_repr};
use crate::structures::none_function;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct If2 {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub sync: Option<Sync>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub nodes: Option<Nodes>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub live: Option<Live>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub va: Option<Va>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub mqtt: Option<Mqtt>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub hue: Option<Hue>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub ntp: Option<Ntp>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Sync {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub port0: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub port1: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub recv: Option<Recv>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub send: Option<Send>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Recv {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub bri: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub col: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub fx: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub grp: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub seg: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub sb: Option<bool>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Send {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub dir: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub btn: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub va: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub hue: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
#[serde(rename = "macro")]
pub macro_field: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub grp: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub ret: Option<u8>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Nodes {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub list: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub bcast: Option<bool>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Live {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub en: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub mso: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub port: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub mc: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub dmx: Option<LiveDmx>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub timeout: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub maxbri: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
#[serde(rename = "no-gc")]
pub no_gc: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub offset: Option<u32>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LiveDmx {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub uni: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub seqskip: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub e131prio: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub addr: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub dss: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub mode: Option<DmxMode>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Va {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub alexa: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub macros: Option<[u8; 2]>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub p: Option<u8>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Mqtt {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub en: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub broker: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub port: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub user: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub pskl: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub cid: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub rtn: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub topics: Option<Topics>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Topics {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub device: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub group: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Hue {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub en: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub id: Option<u8>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub iv: Option<u16>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub recv: Option<Recv2>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub ip: Option<[u8; 4]>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Recv2 {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub on: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub bri: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub col: Option<bool>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Ntp {
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub en: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub host: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub tz: Option<TimeZoneId>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub offset: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub ampm: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub ln: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default = "none_function")]
pub lt: Option<f64>,
}
#[allow(non_camel_case_types)]
#[derive(Serialize_repr, Deserialize_repr, PartialEq, Debug, Clone)]
#[repr(u8)]
pub enum DmxMode {
DMX_MODE_DISABLED = 0,
DMX_MODE_SINGLE_RGB = 1,
DMX_MODE_SINGLE_DRGB = 2,
DMX_MODE_EFFECT = 3,
DMX_MODE_EFFECT_W = 7,
DMX_MODE_MULTIPLE_RGB = 4,
DMX_MODE_MULTIPLE_DRGB = 5,
DMX_MODE_MULTIPLE_RGBW = 6,
DMX_MODE_EFFECT_SEGMENT = 8,
DMX_MODE_EFFECT_SEGMENT_W = 9,
DMX_MODE_PRESET = 10,
RSVD1,
RSVD2,
RSVD3,
RSVD4,
RSVD5,
RSVD6,
}
#[allow(non_camel_case_types)]
#[derive(Serialize_repr, Deserialize_repr, PartialEq, Debug, Clone)]
#[repr(u8)]
pub enum TimeZoneId {
TZ_UTC,
TZ_UK,
TZ_EUROPE_CENTRAL,
TZ_EUROPE_EASTERN,
TZ_US_EASTERN,
TZ_US_CENTRAL,
TZ_US_MOUNTAIN,
TZ_US_ARIZONA,
TZ_US_PACIFIC,
TZ_CHINA,
TZ_JAPAN,
TZ_AUSTRALIA_EASTERN,
TZ_NEW_ZEALAND,
TZ_NORTH_KOREA,
TZ_INDIA,
TZ_SASKACHEWAN,
TZ_AUSTRALIA_NORTHERN,
TZ_AUSTRALIA_SOUTHERN,
TZ_HAWAII,
TZ_NOVOSIBIRSK,
TZ_ANCHORAGE,
TZ_MX_CENTRAL,
TZ_PAKISTAN,
TZ_RSVD1,
TZ_RSVD2,
TZ_RSVD3,
TZ_RSVD4,
TZ_RSVD5,
TZ_RSVD6,
TZ_INIT = 255
}