[−][src]Trait keeshond_datapack::source::Source
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
fn get_uri(&self) -> &str
The path that this Source originates from. Only used for debug purposes.
fn has_package(&self, package_name: &str) -> bool
Returns true if the Source has a package of the given name, otherwise returns false
fn list_packages(&mut self) -> Vec<String>
Returns a list of all packages available in this Source. Do not call this repeatedly!
fn read_file(
&mut self,
full_pathname: &str
) -> Result<Box<dyn ReadSeek>, PackageError>
&mut self,
full_pathname: &str
) -> Result<Box<dyn ReadSeek>, PackageError>
Returns a [Read] + [Seek] for the file at the given pathname, if one exists.
fn iter_entries(
&mut self,
package_name: &str,
type_folder: &str
) -> Box<dyn Iterator<Item = Result<String, PackageError>>>
&mut self,
package_name: &str,
type_folder: &str
) -> Box<dyn Iterator<Item = Result<String, PackageError>>>
Returns an iterator through the items in a given package, if the Source has said package
Provided methods
fn write_file(
&mut self,
full_pathname: &str
) -> Result<Box<dyn Write>, PackageError>
&mut self,
full_pathname: &str
) -> Result<Box<dyn Write>, PackageError>
Returns a Write for the file at the given pathname.
Implementors
impl Source for FilesystemSource
[src]
fn get_uri(&self) -> &str
[src]
fn has_package(&self, package_name: &str) -> bool
[src]
fn list_packages(&mut self) -> Vec<String>
[src]
fn read_file(
&mut self,
full_pathname: &str
) -> Result<Box<dyn ReadSeek>, PackageError>
[src]
&mut self,
full_pathname: &str
) -> Result<Box<dyn ReadSeek>, PackageError>
fn write_file(
&mut self,
full_pathname: &str
) -> Result<Box<dyn Write>, PackageError>
[src]
&mut self,
full_pathname: &str
) -> Result<Box<dyn Write>, PackageError>
fn iter_entries(
&mut self,
package_name: &str,
type_folder: &str
) -> Box<dyn Iterator<Item = Result<String, PackageError>>>
[src]
&mut self,
package_name: &str,
type_folder: &str
) -> Box<dyn Iterator<Item = Result<String, PackageError>>>