52 static std::shared_ptr<Group> ReadGroup(std::istream& src, uint32_t&
id, uint16_t& level);
61 static void WriteGroup(std::ostream& dst,
const std::shared_ptr<Group>& group, uint32_t group_id,
70 static std::shared_ptr<Entry> ReadEntry(std::istream& src, uint32_t& group_id);
78 static void WriteEntry(std::ostream& dst,
const std::shared_ptr<Entry>& entry, uint32_t group_id);
87 static std::unique_ptr<Database>
Import(
const std::string& path,
const Key& key);
95 static std::unique_ptr<Database>
Import(std::istream& src,
const Key& key);
Represents a KeePass (KDB/KDBX) database.
Definition database.hh:74
Keepass database file representation.
Definition kdb.hh:43
static void Export(const std::string &path, const Database &db, const Key &key)
Exports a database to a KDB file.
static void Export(std::ostream &dst, const Database &db, const Key &key)
Exports a database to an output stream in KDB format.
static std::unique_ptr< Database > Import(std::istream &src, const Key &key)
Imports a KDB database from an input stream.
static std::unique_ptr< Database > Import(const std::string &path, const Key &key)
Imports a KDB database from a file path.
Manages database encryption keys for KDB and KDBX formats.
Definition key.hh:45
In-memory representation of a KeePass database.
Visibility/export macro for the shared library.
#define LIBKEEPASS_API
Marks a class, function or variable as part of the public ABI.
Definition export.hh:43