//! ref: composer/src/Composer/Plugin/PrePoolCreateEvent.php use indexmap::IndexMap; use crate::dependency_resolver::request::Request; use crate::event_dispatcher::event::Event; use crate::package::base_package::BasePackage; use crate::repository::repository_interface::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 { #[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; } }