//! Saves the main database into the installation directory. use crate::installer::InstallerFramework; use crate::tasks::Task; use crate::tasks::TaskDependency; use crate::tasks::TaskMessage; use crate::tasks::TaskParamType; pub struct SaveDatabaseTask {} impl Task for SaveDatabaseTask { fn execute( &mut self, input: Vec, context: &mut InstallerFramework, messenger: &dyn Fn(&TaskMessage), ) -> Result { assert_eq!(input.len(), 0); messenger(&TaskMessage::DisplayMessage( "Saving application database...", 0.0, )); context.save_database()?; Ok(TaskParamType::None) } fn dependencies(&self) -> Vec { vec![] } fn name(&self) -> String { "SaveDatabaseTask".to_string() } }