#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct EngineManifest {
#[serde(rename = "manifest_version")]
pub manifest_version: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "brand_name")]
pub brand_name: String,
#[serde(rename = "uuid")]
pub uuid: String,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "icon")]
pub icon: String,
#[serde(rename = "default_sampling_rate")]
pub default_sampling_rate: i32,
#[serde(rename = "terms_of_service")]
pub terms_of_service: String,
#[serde(rename = "update_infos")]
pub update_infos: Vec<crate::models::UpdateInfo>,
#[serde(rename = "dependency_licenses")]
pub dependency_licenses: Vec<crate::models::LicenseInfo>,
#[serde(
rename = "downloadable_libraries_path",
skip_serializing_if = "Option::is_none"
)]
pub downloadable_libraries_path: Option<String>,
#[serde(
rename = "downloadable_libraries_url",
skip_serializing_if = "Option::is_none"
)]
pub downloadable_libraries_url: Option<String>,
#[serde(rename = "supported_features")]
pub supported_features: Box<crate::models::SupportedFeatures>,
}
impl EngineManifest {
pub fn new(
manifest_version: String,
name: String,
brand_name: String,
uuid: String,
url: String,
icon: String,
default_sampling_rate: i32,
terms_of_service: String,
update_infos: Vec<crate::models::UpdateInfo>,
dependency_licenses: Vec<crate::models::LicenseInfo>,
supported_features: crate::models::SupportedFeatures,
) -> EngineManifest {
EngineManifest {
manifest_version,
name,
brand_name,
uuid,
url,
icon,
default_sampling_rate,
terms_of_service,
update_infos,
dependency_licenses,
downloadable_libraries_path: None,
downloadable_libraries_url: None,
supported_features: Box::new(supported_features),
}
}
}