//! ref: composer/src/Composer/Plugin/PrePoolCreateEvent.php use indexmap::IndexMap; use crate::dependency_resolver::Request; use crate::event_dispatcher::Event; use crate::package::BasePackage; use crate::repository::RepositoryInterface; #[derive(Debug)] pub struct PrePoolCreateEvent { inner: Event, repositories: Vec>, request: Request, acceptable_stabilities: IndexMap, stability_flags: IndexMap, root_aliases: IndexMap>>, root_references: IndexMap, packages: Vec>, unacceptable_fixed_packages: Vec>, } impl PrePoolCreateEvent { pub fn get_name(&self) -> &str { self.inner.get_name() } #[allow(clippy::too_many_arguments)] pub fn new( name: String, repositories: Vec>, request: Request, acceptable_stabilities: IndexMap, stability_flags: IndexMap, root_aliases: IndexMap>>, root_references: IndexMap, packages: Vec>, unacceptable_fixed_packages: Vec>, ) -> Self { Self { inner: Event::new(name, vec![], IndexMap::new()), repositories, request, acceptable_stabilities, stability_flags, root_aliases, root_references, packages, unacceptable_fixed_packages, } } pub fn get_repositories(&self) -> &Vec> { &self.repositories } pub fn get_request(&self) -> &Request { &self.request } pub fn get_acceptable_stabilities(&self) -> &IndexMap { &self.acceptable_stabilities } pub fn get_stability_flags(&self) -> &IndexMap { &self.stability_flags } pub fn get_root_aliases( &self, ) -> &IndexMap>> { &self.root_aliases } pub fn get_root_references(&self) -> &IndexMap { &self.root_references } pub fn get_packages(&self) -> &Vec> { &self.packages } pub fn get_unacceptable_fixed_packages(&self) -> &Vec> { &self.unacceptable_fixed_packages } pub fn set_packages(&mut self, packages: Vec>) { self.packages = packages; } pub fn set_unacceptable_fixed_packages(&mut self, packages: Vec>) { self.unacceptable_fixed_packages = packages; } }