pub trait Source {
    fn get_uri(&self) -> &str;
fn has_package(&self, package_name: &str) -> bool;
fn list_packages(&mut self) -> Vec<String>;
fn read_file<'a>(
        &'a mut self,
        package_name: &str,
        pathname: &str
    ) -> Result<Box<dyn ReadSeek + 'a>, PackageError>;
fn iter_entries<'a>(
        &'a mut self,
        package_name: &str,
        type_folder: &str
    ) -> Box<dyn Iterator<Item = Result<String, PackageError>> + 'a>;
fn trust_level(&self, package_name: &str) -> TrustLevel; fn write_file<'a>(
        &'a mut self,
        package_name: &str,
        pathname: &str
    ) -> Result<Box<dyn Write + 'a>, PackageError> { ... } }
Expand description

Represents a location that packages can be loaded from. For example, you could load packages from the filesystem (via FilesystemSource, or out of a special archive format.

Required methods

The path that this Source originates from. Only used for debug purposes.

Returns true if the Source has a package of the given name, otherwise returns false

Returns a list of all packages available in this Source. Do not call this repeatedly!

Returns a Read + Seek for the file at the given pathname, if one exists.

Returns an iterator through the items in a given package, if the Source has said package

Returns the source’s trust level for the given package. Trusted sources are able to load resource types marked as requiring trust.

Provided methods

Returns a Write for the file at the given pathname.

Implementors