#![allow(clippy::missing_safety_doc)]
#[macro_use]
mod macros;
mod acquire;
pub mod cache;
pub mod config;
mod depcache;
pub mod error;
mod iterators;
mod pkgmanager;
pub mod progress;
pub mod records;
pub mod tagfile;
pub mod util;
#[doc(inline)]
pub use cache::{Cache, PackageSort};
pub use iterators::dependency::{create_depends_map, BaseDep, DepFlags, DepType, Dependency};
pub use iterators::files::{PackageFile, VersionFile};
pub use iterators::package::{Package, PkgCurrentState, PkgInstState, PkgSelectedState};
pub use iterators::provider::Provider;
pub use iterators::version::Version;
pub mod raw {
pub use crate::acquire::raw::{
acquire_status, create_acquire, AcqTextStatus, AcqWorker, Item, ItemDesc, ItemState,
PkgAcquire,
};
pub use crate::cache::raw::{create_cache, PkgCacheFile};
pub use crate::depcache::raw::{ActionGroup, PkgDepCache};
pub use crate::iterators::{
DepIterator, DescIterator, PkgFileIterator, PkgIterator, PrvIterator, VerFileIterator,
VerIterator,
};
pub use crate::pkgmanager::raw::{
create_pkgmanager, create_problem_resolver, PackageManager, ProblemResolver,
};
pub use crate::records::raw::{IndexFile, Parser, PkgRecords};
pub use crate::util::raw::*;
pub mod config {
pub use crate::config::raw::*;
}
pub trait IntoRawIter {
type Item;
fn raw_iter(self) -> Self::Item;
fn make_safe(self) -> Option<Self>
where
Self: Sized;
fn to_vec(self) -> Vec<Self>
where
Self: Sized;
}
use cxx::UniquePtr;
use paste::paste;
raw_iter!(
PkgIterator,
VerIterator,
DepIterator,
PrvIterator,
VerFileIterator,
DescIterator,
PkgFileIterator
);
}
use depcache::DepCache;
use error::AptErrors;
use records::PackageRecords;
impl_deref!(
Cache -> raw::PkgCacheFile,
DepCache -> raw::PkgDepCache,
PackageRecords -> raw::PkgRecords,
AptErrors -> Vec<error::raw::AptError>,
Package<'a> -> raw::PkgIterator,
Version<'a> -> raw::VerIterator,
Dependency<'a> -> Vec<BaseDep<'a>>,
BaseDep<'a> -> raw::DepIterator,
Provider<'a> -> raw::PrvIterator,
VersionFile<'a> -> raw::VerFileIterator,
PackageFile<'a> -> raw::PkgFileIterator,
);
impl_partial_eq!(
Package<'a>,
BaseDep<'a>,
Provider<'a>,
VersionFile<'a>,
PackageFile<'a>,
);
impl_hash_eq!(
Package<'a>,
Version<'a>,
BaseDep<'a>,
Provider<'a>,
VersionFile<'a>,
PackageFile<'a>,
);