feat: amnet integration

This commit is contained in:
2025-03-17 01:58:09 +00:00
parent 8d55e92fc9
commit af4929a5b3
10 changed files with 184 additions and 41 deletions

View File

@ -2,16 +2,38 @@ use std::path::PathBuf;
use serde::{Deserialize, Serialize};
use crate::pkg::PkgKey;
#[derive(Deserialize, Serialize, Clone)]
pub enum Aime {
BuiltIn,
AMNet(PkgKey),
Other(PkgKey),
}
#[derive(Deserialize, Serialize, Clone)]
pub struct AMNet {
pub name: String,
pub addr: String,
pub physical: bool,
}
impl Default for AMNet {
fn default() -> Self {
Self { name: Default::default(), addr: "http://+:6070".to_string(), physical: false }
}
}
#[derive(Deserialize, Serialize, Clone)]
pub struct Segatools {
pub target: PathBuf,
pub hook: Option<PkgKey>,
pub io: Option<PkgKey>,
pub aime: Option<Aime>,
pub amfs: PathBuf,
pub option: PathBuf,
pub appdata: PathBuf,
pub enable_aime: bool,
pub intel: bool,
#[serde(default)]
pub amnet: AMNet,
}
impl Default for Segatools {
@ -23,8 +45,9 @@ impl Default for Segatools {
amfs: PathBuf::default(),
option: PathBuf::default(),
appdata: PathBuf::from("appdata"),
enable_aime: false,
intel: false
aime: Some(Aime::BuiltIn),
intel: false,
amnet: AMNet::default(),
}
}
}