pub struct Repository { /* private fields */ }
Implementations§
Source§impl Repository
impl Repository
pub fn new(config: RepositoryConfig) -> Self
pub fn config(&self) -> &RepositoryConfig
pub fn packages(&self) -> &Vec<Package>
pub fn add_package(&mut self, package: Package) -> RepositoryResult<()>
pub fn load_packages(&mut self) -> RepositoryResult<()>
pub fn load_packages_with_network(&mut self) -> RepositoryResult<()>
Sourcepub fn set_platform_availability(
&mut self,
package: &Package,
platform: &Platform,
availability: &Availability,
element: Element,
) -> RepositoryResult<()>
pub fn set_platform_availability( &mut self, package: &Package, platform: &Platform, availability: &Availability, element: Element, ) -> RepositoryResult<()>
Set the availability of an element of a package for a given platform.
If package is from a type that doesn’t have platform availability notion, this function return error.
Sourcepub fn get_platform_availability(
&self,
package: &Package,
platform: &Platform,
availability: &Availability,
) -> RepositoryResult<Element>
pub fn get_platform_availability( &self, package: &Package, platform: &Platform, availability: &Availability, ) -> RepositoryResult<Element>
Get the availability of an element of a package for a given platform.
Sourcepub fn get_platform_availability_with_network(
&mut self,
package: &Package,
platform: &Platform,
availability: &Availability,
) -> RepositoryResult<Element>
pub fn get_platform_availability_with_network( &mut self, package: &Package, platform: &Platform, availability: &Availability, ) -> RepositoryResult<Element>
Get the availability of an element of a package for a given platform, interrogating through network if not available locally.
Sourcepub fn get_package_element(
&self,
package: &Package,
platform_availability: Option<(&Platform, &Availability)>,
) -> RepositoryResult<Element>
pub fn get_package_element( &self, package: &Package, platform_availability: Option<(&Platform, &Availability)>, ) -> RepositoryResult<Element>
Get element of a package for a given platform.
This function only checks registered availability, but not if element is really present on disk. See also [reach_platform_element].
Sourcepub fn get_package_element_path(
&self,
package: &Package,
platform_availability: Option<(&Platform, &Availability)>,
) -> RepositoryResult<PathBuf>
pub fn get_package_element_path( &self, package: &Package, platform_availability: Option<(&Platform, &Availability)>, ) -> RepositoryResult<PathBuf>
Get the full path of an element of a package.
This function only checks registered availability, but not if element is really present on disk. See also [reach_platform_element].
Sourcepub fn reach_package_element(
&self,
package: &Package,
platform_availability: Option<(&Platform, &Availability)>,
) -> RepositoryResult<PathBuf>
pub fn reach_package_element( &self, package: &Package, platform_availability: Option<(&Platform, &Availability)>, ) -> RepositoryResult<PathBuf>
Get the full path of a present element of a package.
This function return an error if the element is not present on filesystem.
Sourcepub fn reach_package_element_with_network(
&mut self,
package: &Package,
platform_availability: Option<(&Platform, &Availability)>,
) -> RepositoryResult<PathBuf>
pub fn reach_package_element_with_network( &mut self, package: &Package, platform_availability: Option<(&Platform, &Availability)>, ) -> RepositoryResult<PathBuf>
Get the full path of a present element of a package for a given platform.
This function try to download the element if it is not present on the filesystem.
pub fn remove_package( &mut self, name: &str, version: &Version, ) -> RepositoryResult<()>
pub fn get_package( &self, name: &str, version_req: &VersionReq, ) -> RepositoryResult<Option<Package>>
pub fn get_package_with_network( &mut self, name: &str, version_req: &VersionReq, ) -> RepositoryResult<Option<Package>>
pub fn set_package_details( &self, details: &PackageDetails, ) -> RepositoryResult<()>
pub fn get_package_details( &self, package: &Package, ) -> RepositoryResult<PackageDetails>
pub fn get_package_details_with_network( &self, package: &Package, ) -> RepositoryResult<PackageDetails>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Repository
impl RefUnwindSafe for Repository
impl Send for Repository
impl Sync for Repository
impl Unpin for Repository
impl UnwindSafe for Repository
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.