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);Auto Trait Implementations§
impl Freeze for DbFiles
impl RefUnwindSafe for DbFiles
impl Send for DbFiles
impl Sync for DbFiles
impl Unpin for DbFiles
impl UnsafeUnpin 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