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 UnsafeUnpin 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