pub enum DbFiles {
V1(DbFilesV1),
}Expand description
The representation of alpm-db-files data.
Tracks all known versions of the specification.
Variants§
V1(DbFilesV1)
Version 1 of the alpm-db-files specification.
Implementations§
Trait Implementations§
Source§impl FromStr for DbFiles
impl FromStr for DbFiles
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Creates a new DbFiles from string slice.
§Note
Delegates to Self::from_str_with_schema while not providing a DbFilesSchema.
§Errors
Returns an error if Self::from_str_with_schema fails.
Source§impl MetadataFile<DbFilesSchema> for DbFiles
impl MetadataFile<DbFilesSchema> for DbFiles
Source§fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_file_with_schema(
file: impl AsRef<Path>,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new DbFiles from a file Path and an optional DbFilesSchema.
§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_db::files::{DbFiles, DbFilesSchema};
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 = DbFiles::from_file_with_schema(
temp_file.path(),
Some(DbFilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, DbFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_reader_with_schema(
reader: impl Read,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_reader_with_schema(
reader: impl Read,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new DbFiles from a Read implementation and an optional DbFilesSchema.
§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_db::files::{DbFiles, DbFilesSchema};
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 = DbFiles::from_reader_with_schema(
temp_file,
Some(DbFilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, DbFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);Source§fn from_str_with_schema(
s: &str,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
fn from_str_with_schema(
s: &str,
schema: Option<DbFilesSchema>,
) -> Result<Self, Self::Err>where
Self: Sized,
Creates a new DbFiles from a string slice and an optional DbFilesSchema.
§Errors
Returns an error if
schemaisNoneand aDbFilesSchemacannot be derived froms,- or a
DbFilesV1cannot be created froms.
§Examples
use alpm_common::MetadataFile;
use alpm_db::files::{DbFiles, DbFilesSchema};
use alpm_types::{SchemaVersion, semver_version::Version};
let data = r#"%FILES%
usr/
usr/bin/
usr/bin/foo
"#;
let files = DbFiles::from_str_with_schema(
data,
Some(DbFilesSchema::V1(SchemaVersion::new(Version::new(1, 0, 0)))),
)?;
matches!(files, DbFiles::V1(_));
assert_eq!(files.as_ref().len(), 3);§fn from_file(file: impl AsRef<Path>) -> Result<Self, Self::Err>where
Self: Sized,
fn from_file(file: impl AsRef<Path>) -> Result<Self, Self::Err>where
Self: Sized,
Creates [
Self] from file. Read more§fn from_stdin_with_schema(schema: Option<T>) -> Result<Self, Self::Err>where
Self: Sized,
fn from_stdin_with_schema(schema: Option<T>) -> Result<Self, Self::Err>where
Self: Sized,
Auto Trait Implementations§
impl Freeze for DbFiles
impl RefUnwindSafe for DbFiles
impl Send for DbFiles
impl Sync for DbFiles
impl Unpin for DbFiles
impl UnwindSafe for DbFiles
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