2026-02-05 15:18:26 +01:00
|
|
|
use std::any::Any;
|
2026-02-05 18:53:35 +01:00
|
|
|
use crate::AppContext;
|
2026-02-05 15:18:26 +01:00
|
|
|
|
|
|
|
|
pub struct Format {
|
|
|
|
|
pub name: &'static str,
|
2026-02-05 18:53:35 +01:00
|
|
|
pub detector_func: fn(&AppContext) -> Result<Option<Box<dyn Any>>, Box<dyn std::error::Error>>,
|
|
|
|
|
pub extractor_func: fn(&AppContext, Option<Box<dyn Any>>) -> Result<(), Box<dyn std::error::Error>>,
|
2026-02-05 15:18:26 +01:00
|
|
|
}
|
|
|
|
|
|
2025-09-12 22:18:53 +02:00
|
|
|
pub mod mstar;
|
2026-02-06 15:08:38 +01:00
|
|
|
pub mod samsung_old;
|
2025-11-23 23:43:02 +01:00
|
|
|
pub mod nvt_timg;
|
2025-10-06 22:44:30 +02:00
|
|
|
pub mod pfl_upg;
|
2025-10-09 20:55:35 +02:00
|
|
|
pub mod sddl_sec;
|
2025-10-07 13:29:44 +02:00
|
|
|
pub mod novatek;
|
2025-10-19 14:56:51 +02:00
|
|
|
pub mod ruf;
|
2025-10-28 17:58:59 +01:00
|
|
|
pub mod invincible_image;
|
2025-10-29 18:36:42 +01:00
|
|
|
pub mod slp;
|
2025-10-30 22:04:59 +01:00
|
|
|
pub mod roku;
|
2025-10-31 19:37:03 +01:00
|
|
|
pub mod sony_bdp;
|
2025-11-02 12:40:46 +01:00
|
|
|
pub mod rvp;
|
2025-11-05 22:57:54 +01:00
|
|
|
pub mod funai_upg;
|
2025-11-19 23:39:33 +01:00
|
|
|
pub mod pana_dvd;
|
2025-12-12 22:14:01 +01:00
|
|
|
pub mod android_ota_payload;
|
2025-12-21 21:10:40 +01:00
|
|
|
pub mod bdl;
|
2026-02-01 20:11:49 +01:00
|
|
|
pub mod amlogic;
|
2025-10-09 20:55:35 +02:00
|
|
|
|
2025-10-19 22:12:21 +02:00
|
|
|
pub mod pup;
|
|
|
|
|
|
2025-10-09 20:55:35 +02:00
|
|
|
pub mod msd;
|
2025-10-07 16:00:32 +02:00
|
|
|
pub mod msd10;
|
|
|
|
|
pub mod msd11;
|
2025-10-09 20:55:35 +02:00
|
|
|
|
2025-10-09 20:45:37 +02:00
|
|
|
pub mod epk;
|
2025-10-09 20:55:35 +02:00
|
|
|
pub mod epk1;
|
|
|
|
|
pub mod epk2;
|
2026-01-24 16:36:20 +01:00
|
|
|
pub mod epk2b;
|
2025-10-12 19:08:46 +02:00
|
|
|
pub mod epk3;
|
|
|
|
|
|
|
|
|
|
pub mod mtk_pkg;
|
2025-12-14 01:08:48 +01:00
|
|
|
pub mod mtk_pkg_old;
|
2025-12-27 17:09:08 +01:00
|
|
|
pub mod mtk_pkg_new;
|
2026-02-05 15:18:26 +01:00
|
|
|
pub mod mtk_bdp;
|
|
|
|
|
|
|
|
|
|
pub fn get_registry() -> Vec<Format> {
|
|
|
|
|
return vec![
|
|
|
|
|
crate::formats::mstar::format(),
|
2026-02-06 15:08:38 +01:00
|
|
|
crate::formats::samsung_old::format(),
|
2026-02-05 15:18:26 +01:00
|
|
|
crate::formats::nvt_timg::format(),
|
|
|
|
|
crate::formats::pfl_upg::format(),
|
|
|
|
|
crate::formats::sddl_sec::format(),
|
2026-02-05 18:53:35 +01:00
|
|
|
crate::formats::novatek::format(),
|
|
|
|
|
crate::formats::ruf::format(),
|
|
|
|
|
crate::formats::invincible_image::format(),
|
2026-02-05 15:18:26 +01:00
|
|
|
crate::formats::slp::format(),
|
2026-02-05 18:53:35 +01:00
|
|
|
crate::formats::roku::format(),
|
2026-02-05 15:18:26 +01:00
|
|
|
crate::formats::sony_bdp::format(),
|
2026-02-05 18:53:35 +01:00
|
|
|
crate::formats::rvp::format(),
|
|
|
|
|
crate::formats::funai_upg::format(),
|
2026-02-05 15:18:26 +01:00
|
|
|
crate::formats::pana_dvd::format(),
|
2026-02-05 18:53:35 +01:00
|
|
|
crate::formats::android_ota_payload::format(),
|
|
|
|
|
crate::formats::bdl::format(),
|
|
|
|
|
crate::formats::amlogic::format(),
|
|
|
|
|
crate::formats::pup::format(),
|
|
|
|
|
crate::formats::msd10::format(),
|
|
|
|
|
crate::formats::msd11::format(),
|
|
|
|
|
crate::formats::epk::format(),
|
|
|
|
|
crate::formats::epk1::format(),
|
|
|
|
|
crate::formats::epk2::format(),
|
|
|
|
|
crate::formats::epk2b::format(),
|
|
|
|
|
crate::formats::epk3::format(),
|
|
|
|
|
crate::formats::mtk_pkg::format(),
|
|
|
|
|
crate::formats::mtk_pkg_old::format(),
|
|
|
|
|
crate::formats::mtk_pkg_new::format(),
|
2026-02-05 15:18:26 +01:00
|
|
|
crate::formats::mtk_bdp::format(),
|
|
|
|
|
]
|
|
|
|
|
}
|