pub enum RepoFiles {
V1(RepoFilesV1),
}Expand description
The representation of alpm-repo-files data.
Tracks all known versions of the specification.
Variants§
V1(RepoFilesV1)
Version 1 of the alpm-repo-files specification.
Trait Implementations§
Source§impl FromStr for RepoFiles
impl FromStr for RepoFiles
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Creates a new RepoFiles from string slice.
§Note
Delegates to Self::from_str_with_schema while not providing a RepoFilesSchema.
§Errors
Returns an error if Self::from_str_with_schema fails.
Source§impl MetadataFile<RepoFilesSchema> for RepoFiles
impl MetadataFile<RepoFilesSchema> for RepoFiles
Source§fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new RepoFiles from a file Path and an optional RepoFilesSchema.
§Note
Delegates to Self::from_reader_with_schema after opening file for reading.
§Errors
Returns an error if
- the
filecannot be opened for reading, - or
Self::from_reader_with_schemafails.
§Examples
use std::io::Write;
use alpm_common::MetadataFile;
use alpm_repo_db::files::{RepoFiles, RepoFilesSchema};
use alpm_types::{SchemaVersion, semver_version::Version};
use tempfile::NamedTempFile;
let data = r#"%FILES%
usr/
usr/bin/
usr/bin/foo
"#;
let mut temp_file = NamedTempFile::new()?;
write!(temp_file, "{data}")?;
let files = RepoFiles::from_file_with_schema(
temp_file.path(),
Some(RepoFilesSchema::V1(SchemaVersion::new(Version::new(
1, 0, 0,
)))),
)?;
matches!(files, RepoFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_reader_with_schema(
reader: impl Read,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_reader_with_schema(
reader: impl Read,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new RepoFiles from a Read implementation and an optional
RepoFilesSchema.
§Note
Delegates to Self::from_str_with_schema after reading reader to string.
§Errors
Returns an error if
- the
readercannot be read to string, - or
Self::from_str_with_schemafails.
§Examples
use std::io::{Seek, SeekFrom, Write};
use alpm_common::MetadataFile;
use alpm_repo_db::files::{RepoFiles, RepoFilesSchema};
use alpm_types::{SchemaVersion, semver_version::Version};
use tempfile::tempfile;
let data = r#"%FILES%
usr/
usr/bin/
usr/bin/foo
"#;
let mut temp_file = tempfile()?;
write!(temp_file, "{data}")?;
temp_file.seek(SeekFrom::Start(0))?;
let files = RepoFiles::from_reader_with_schema(
temp_file,
Some(RepoFilesSchema::V1(SchemaVersion::new(Version::new(
1, 0, 0,
)))),
)?;
matches!(files, RepoFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_str_with_schema(
s: &str,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_str_with_schema(
s: &str,
schema: Option<RepoFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new RepoFiles from a string slice and an optional RepoFilesSchema.
§Errors
Returns an error if
schemaisNoneand aRepoFilesSchemacannot be derived froms,- or a
RepoFilesV1cannot be created froms.
§Examples
use alpm_common::MetadataFile;
use alpm_repo_db::files::{RepoFiles, RepoFilesSchema};
use alpm_types::{SchemaVersion, semver_version::Version};
let data = r#"%FILES%
usr/
usr/bin/
usr/bin/foo
"#;
let files = RepoFiles::from_str_with_schema(
data,
Some(RepoFilesSchema::V1(SchemaVersion::new(Version::new(
1, 0, 0,
)))),
)?;
matches!(files, RepoFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);Auto Trait Implementations§
impl Freeze for RepoFiles
impl RefUnwindSafe for RepoFiles
impl Send for RepoFiles
impl Sync for RepoFiles
impl Unpin for RepoFiles
impl UnwindSafe for RepoFiles
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
Mutably borrows from an owned value. Read more