mirror of
https://github.com/yuzu-emu/liftinstall.git
synced 2025-07-23 19:58:42 +00:00
Add explicit 'dyn's as per Rust nightly requirements
This commit is contained in:
parent
4d50a0f8f8
commit
5d53ef7a2e
|
@ -16,7 +16,7 @@ pub trait Archive<'a> {
|
||||||
/// func: iterator value, max size, file name, file contents
|
/// func: iterator value, max size, file name, file contents
|
||||||
fn for_each(
|
fn for_each(
|
||||||
&mut self,
|
&mut self,
|
||||||
func: &mut FnMut(usize, Option<usize>, PathBuf, &mut Read) -> Result<(), String>,
|
func: &mut dyn FnMut(usize, Option<usize>, PathBuf, &mut dyn Read) -> Result<(), String>,
|
||||||
) -> Result<(), String>;
|
) -> Result<(), String>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ struct ZipArchive<'a> {
|
||||||
impl<'a> Archive<'a> for ZipArchive<'a> {
|
impl<'a> Archive<'a> for ZipArchive<'a> {
|
||||||
fn for_each(
|
fn for_each(
|
||||||
&mut self,
|
&mut self,
|
||||||
func: &mut FnMut(usize, Option<usize>, PathBuf, &mut Read) -> Result<(), String>,
|
func: &mut dyn FnMut(usize, Option<usize>, PathBuf, &mut dyn Read) -> Result<(), String>,
|
||||||
) -> Result<(), String> {
|
) -> Result<(), String> {
|
||||||
let max = self.archive.len();
|
let max = self.archive.len();
|
||||||
|
|
||||||
|
@ -49,13 +49,13 @@ impl<'a> Archive<'a> for ZipArchive<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TarArchive<'a> {
|
struct TarArchive<'a> {
|
||||||
archive: UpstreamTarArchive<Box<Read + 'a>>,
|
archive: UpstreamTarArchive<Box<dyn Read + 'a>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Archive<'a> for TarArchive<'a> {
|
impl<'a> Archive<'a> for TarArchive<'a> {
|
||||||
fn for_each(
|
fn for_each(
|
||||||
&mut self,
|
&mut self,
|
||||||
func: &mut FnMut(usize, Option<usize>, PathBuf, &mut Read) -> Result<(), String>,
|
func: &mut dyn FnMut(usize, Option<usize>, PathBuf, &mut dyn Read) -> Result<(), String>,
|
||||||
) -> Result<(), String> {
|
) -> Result<(), String> {
|
||||||
let entries = self
|
let entries = self
|
||||||
.archive
|
.archive
|
||||||
|
@ -83,7 +83,7 @@ impl<'a> Archive<'a> for TarArchive<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Reads the named archive with an archive implementation.
|
/// Reads the named archive with an archive implementation.
|
||||||
pub fn read_archive<'a>(name: &str, data: &'a [u8]) -> Result<Box<Archive<'a> + 'a>, String> {
|
pub fn read_archive<'a>(name: &str, data: &'a [u8]) -> Result<Box<dyn Archive<'a> + 'a>, String> {
|
||||||
if name.ends_with(".zip") {
|
if name.ends_with(".zip") {
|
||||||
// Decompress a .zip file
|
// Decompress a .zip file
|
||||||
let archive = UpstreamZipArchive::new(Cursor::new(data))
|
let archive = UpstreamZipArchive::new(Cursor::new(data))
|
||||||
|
@ -98,7 +98,7 @@ pub fn read_archive<'a>(name: &str, data: &'a [u8]) -> Result<Box<Archive<'a> +
|
||||||
.read_to_end(&mut decompressed_data)
|
.read_to_end(&mut decompressed_data)
|
||||||
.map_err(|x| format!("Failed to decompress data: {:?}", x))?;
|
.map_err(|x| format!("Failed to decompress data: {:?}", x))?;
|
||||||
|
|
||||||
let decompressed_contents: Box<Read> = Box::new(Cursor::new(decompressed_data));
|
let decompressed_contents: Box<dyn Read> = Box::new(Cursor::new(decompressed_data));
|
||||||
|
|
||||||
let tar = UpstreamTarArchive::new(decompressed_contents);
|
let tar = UpstreamTarArchive::new(decompressed_contents);
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ pub type Response = hyper::server::Response;
|
||||||
pub type Error = hyper::Error;
|
pub type Error = hyper::Error;
|
||||||
|
|
||||||
/// The return type used by function calls to the web server.
|
/// The return type used by function calls to the web server.
|
||||||
pub type Future = Box<futures::Future<Item = Response, Error = Error>>;
|
pub type Future = Box<dyn futures::Future<Item = Response, Error = Error>>;
|
||||||
|
|
||||||
/// If advanced functionality is not needed, return a default instant future.
|
/// If advanced functionality is not needed, return a default instant future.
|
||||||
pub fn default_future(response: Response) -> Future {
|
pub fn default_future(response: Response) -> Future {
|
||||||
|
|
|
@ -9,7 +9,7 @@ pub mod github;
|
||||||
use self::types::ReleaseSource;
|
use self::types::ReleaseSource;
|
||||||
|
|
||||||
/// Returns a ReleaseSource by a name, if possible
|
/// Returns a ReleaseSource by a name, if possible
|
||||||
pub fn get_by_name(name: &str) -> Option<Box<ReleaseSource>> {
|
pub fn get_by_name(name: &str) -> Option<Box<dyn ReleaseSource>> {
|
||||||
match name {
|
match name {
|
||||||
"github" => Some(Box::new(github::GithubReleases::new())),
|
"github" => Some(Box::new(github::GithubReleases::new())),
|
||||||
_ => None,
|
_ => None,
|
||||||
|
|
|
@ -25,7 +25,7 @@ impl Task for DownloadPackageTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
mut input: Vec<TaskParamType>,
|
mut input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 1);
|
assert_eq!(input.len(), 1);
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ impl Task for EnsureOnlyInstanceTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
_messenger: &Fn(&TaskMessage),
|
_messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ impl Task for InstallTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
_: Vec<TaskParamType>,
|
_: Vec<TaskParamType>,
|
||||||
_: &mut InstallerFramework,
|
_: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
messenger(&TaskMessage::DisplayMessage("Wrapping up...", 0.0));
|
messenger(&TaskMessage::DisplayMessage("Wrapping up...", 0.0));
|
||||||
Ok(TaskParamType::None)
|
Ok(TaskParamType::None)
|
||||||
|
|
|
@ -21,7 +21,7 @@ impl Task for VerifyInstallDirTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
|
|
|
@ -20,7 +20,7 @@ impl Task for InstallGlobalShortcutsTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
_: Vec<TaskParamType>,
|
_: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
"Generating global shortcut...",
|
"Generating global shortcut...",
|
||||||
|
|
|
@ -34,7 +34,7 @@ impl Task for InstallPackageTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
mut input: Vec<TaskParamType>,
|
mut input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
&format!("Installing package {:?}...", self.name),
|
&format!("Installing package {:?}...", self.name),
|
||||||
|
|
|
@ -22,7 +22,7 @@ impl Task for InstallShortcutsTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
_: Vec<TaskParamType>,
|
_: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
&format!("Generating shortcuts for package {:?}...", self.name),
|
&format!("Generating shortcuts for package {:?}...", self.name),
|
||||||
|
|
|
@ -49,12 +49,12 @@ pub enum TaskOrdering {
|
||||||
/// A dependency of a task with various properties.
|
/// A dependency of a task with various properties.
|
||||||
pub struct TaskDependency {
|
pub struct TaskDependency {
|
||||||
ordering: TaskOrdering,
|
ordering: TaskOrdering,
|
||||||
task: Box<Task>,
|
task: Box<dyn Task>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TaskDependency {
|
impl TaskDependency {
|
||||||
/// Builds a new dependency from the specified task.
|
/// Builds a new dependency from the specified task.
|
||||||
pub fn build(ordering: TaskOrdering, task: Box<Task>) -> TaskDependency {
|
pub fn build(ordering: TaskOrdering, task: Box<dyn Task>) -> TaskDependency {
|
||||||
TaskDependency { ordering, task }
|
TaskDependency { ordering, task }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ pub trait Task {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String>;
|
) -> Result<TaskParamType, String>;
|
||||||
|
|
||||||
/// Returns a vector containing all dependencies that need to be executed
|
/// Returns a vector containing all dependencies that need to be executed
|
||||||
|
@ -87,7 +87,7 @@ pub trait Task {
|
||||||
|
|
||||||
/// The dependency tree allows for smart iteration on a Task struct.
|
/// The dependency tree allows for smart iteration on a Task struct.
|
||||||
pub struct DependencyTree {
|
pub struct DependencyTree {
|
||||||
task: Box<Task>,
|
task: Box<dyn Task>,
|
||||||
dependencies: Vec<(TaskOrdering, DependencyTree)>,
|
dependencies: Vec<(TaskOrdering, DependencyTree)>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ impl DependencyTree {
|
||||||
pub fn execute(
|
pub fn execute(
|
||||||
&mut self,
|
&mut self,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
let total_tasks = (self.dependencies.len() + 1) as f64;
|
let total_tasks = (self.dependencies.len() + 1) as f64;
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ impl DependencyTree {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Builds a new pipeline from the specified task, iterating on dependencies.
|
/// Builds a new pipeline from the specified task, iterating on dependencies.
|
||||||
pub fn build(task: Box<Task>) -> DependencyTree {
|
pub fn build(task: Box<dyn Task>) -> DependencyTree {
|
||||||
let dependencies = task
|
let dependencies = task
|
||||||
.dependencies()
|
.dependencies()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|
|
@ -24,7 +24,7 @@ impl Task for ResolvePackageTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
let mut metadata: Option<PackageDescription> = None;
|
let mut metadata: Option<PackageDescription> = None;
|
||||||
|
|
|
@ -14,7 +14,7 @@ impl Task for SaveDatabaseTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
|
|
|
@ -23,7 +23,7 @@ impl Task for SaveExecutableTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
messenger(&TaskMessage::DisplayMessage(
|
messenger(&TaskMessage::DisplayMessage(
|
||||||
|
|
|
@ -19,7 +19,7 @@ impl Task for UninstallTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
_: Vec<TaskParamType>,
|
_: Vec<TaskParamType>,
|
||||||
_: &mut InstallerFramework,
|
_: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
messenger(&TaskMessage::DisplayMessage("Wrapping up...", 0.0));
|
messenger(&TaskMessage::DisplayMessage("Wrapping up...", 0.0));
|
||||||
Ok(TaskParamType::None)
|
Ok(TaskParamType::None)
|
||||||
|
|
|
@ -18,7 +18,7 @@ impl Task for UninstallGlobalShortcutsTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ impl Task for UninstallPackageTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 1);
|
assert_eq!(input.len(), 1);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ impl Task for UninstallShortcutsTask {
|
||||||
&mut self,
|
&mut self,
|
||||||
input: Vec<TaskParamType>,
|
input: Vec<TaskParamType>,
|
||||||
context: &mut InstallerFramework,
|
context: &mut InstallerFramework,
|
||||||
messenger: &Fn(&TaskMessage),
|
messenger: &dyn Fn(&TaskMessage),
|
||||||
) -> Result<TaskParamType, String> {
|
) -> Result<TaskParamType, String> {
|
||||||
assert_eq!(input.len(), 0);
|
assert_eq!(input.len(), 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue