pub enum Files {
V1(FilesV1),
}Expand description
The representation of alpm-files data.
Tracks all known versions of the specification.
Variants§
V1(FilesV1)
Version 1 of the alpm-files specification.
Trait Implementations§
Source§impl FilesStyleToString for Files
impl FilesStyleToString for Files
Source§fn to_string(&self, format: FilesStyle) -> String
fn to_string(&self, format: FilesStyle) -> String
Returns the String representation of the Files.
The formatting of the returned string depends on the provided FilesStyle.
Source§impl FromStr for Files
impl FromStr for Files
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Creates a new Files from string slice.
§Note
Delegates to Self::from_str_with_schema while not providing a FilesSchema.
§Errors
Returns an error if Self::from_str_with_schema fails.
Source§impl MetadataFile<FilesSchema> for Files
impl MetadataFile<FilesSchema> for Files
Source§fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new Files from a file Path and an optional FilesSchema.
§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_files::{Files, FilesSchema};
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 = Files::from_file_with_schema(
temp_file.path(),
Some(FilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, Files::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_reader_with_schema(
reader: impl Read,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_reader_with_schema(
reader: impl Read,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new Files from a Read implementation and an optional FilesSchema.
§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_files::{Files, FilesSchema};
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 = Files::from_reader_with_schema(
temp_file,
Some(FilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, Files::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_str_with_schema(
s: &str,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_str_with_schema(
s: &str,
schema: Option<FilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new Files from a string slice and an optional FilesSchema.
§Errors
Returns an error if
schemaisNoneand aFilesSchemacannot be derived froms,- or a
FilesV1cannot be created froms.
§Examples
use alpm_common::MetadataFile;
use alpm_files::{Files, FilesSchema};
use alpm_types::{SchemaVersion, semver_version::Version};
let data = r#"%FILES%
usr/
usr/bin/
usr/bin/foo
"#;
let files = Files::from_str_with_schema(
data,
Some(FilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, Files::V1(_));
assert_eq!(files.as_ref().len(), 3);