Struct keepass_ng::db::Database

source ·
pub struct Database {
    pub config: DatabaseConfig,
    pub header_attachments: Vec<HeaderAttachment>,
    pub root: NodePtr,
    pub deleted_objects: DeletedObjects,
    pub meta: Meta,
}
Expand description

A decrypted KeePass database

Fields§

§config: DatabaseConfig

Configuration settings of the database such as encryption and compression algorithms

§header_attachments: Vec<HeaderAttachment>

Binary attachments in the inner header

§root: NodePtr

Root node of the KeePass database

§deleted_objects: DeletedObjects

References to previously-deleted objects

§meta: Meta

Metadata of the KeePass database

Implementations§

source§

impl Database

source

pub fn open( source: &mut dyn Read, key: DatabaseKey ) -> Result<Database, DatabaseOpenError>

Parse a database from a std::io::Read

source

pub fn save( &self, destination: &mut dyn Write, key: DatabaseKey ) -> Result<(), DatabaseSaveError>

Save a database to a std::io::Write

source

pub fn get_xml( source: &mut dyn Read, key: DatabaseKey ) -> Result<Vec<u8>, DatabaseOpenError>

Helper function to load a database into its internal XML chunks

source

pub fn get_version( source: &mut dyn Read ) -> Result<DatabaseVersion, DatabaseIntegrityError>

Get the version of a database without decrypting it

source

pub fn new(config: DatabaseConfig) -> Database

Create a new, empty database

source

pub fn node_get_parents(&self, node: &NodePtr) -> Vec<Uuid>

source

pub fn set_recycle_bin_enabled(&mut self, enabled: bool)

source

pub fn recycle_bin_enabled(&self) -> bool

source

pub fn node_is_recycle_bin(&self, node: &NodePtr) -> bool

source

pub fn node_is_in_recycle_bin(&self, node: Uuid) -> bool

source

pub fn get_recycle_bin(&self) -> Option<NodePtr>

source

pub fn create_recycle_bin(&mut self) -> Result<NodePtr>

source

pub fn remove_node_by_uuid(&mut self, uuid: Uuid) -> Result<NodePtr>

source

pub fn create_new_entry(&self, parent: Uuid, index: usize) -> Result<NodePtr>

source

pub fn create_new_group(&self, parent: Uuid, index: usize) -> Result<NodePtr>

Trait Implementations§

source§

impl Debug for Database

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Database

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Database

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for T
where T: Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

source§

fn type_name(&self) -> &'static str

Gets the type name of self
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for T
where T: AsAny + ?Sized,

source§

fn is<T>(&self) -> bool
where T: AsAny,

Returns true if the boxed type is the same as T. Read more
source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: AsAny,

Forward to the method defined on the type Any.
source§

fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: AsAny,

Forward to the method defined on the type Any.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.