39 std::array<uint8_t, 16> uuid_;
40 std::vector<uint8_t> data_;
42 std::optional<std::time_t> last_modification_time_;
46 Icon(
const std::array<uint8_t, 16>&
uuid, std::vector<uint8_t>
data)
47 : uuid_(
uuid), data_(std::move(
data)) {}
50 const std::array<uint8_t, 16>&
uuid()
const {
return uuid_; }
53 const std::vector<uint8_t>&
data()
const {
return data_; }
59 const std::string&
name()
const {
return name_; }
66 return last_modification_time_;
72 last_modification_time_ = time;
77 return data_ == other.data_ && name_ == other.name_ &&
78 last_modification_time_ == other.last_modification_time_;
A custom icon stored in the database.
Definition icon.hh:37
bool operator!=(const Icon &other) const
Inequality comparison.
Definition icon.hh:82
void set_last_modification_time(std::optional< std::time_t > time)
Definition icon.hh:71
const std::optional< std::time_t > & last_modification_time() const
Returns the icon last modification time (KDBX 4.1); empty if unset.
Definition icon.hh:65
const std::array< uint8_t, 16 > & uuid() const
Returns the icon UUID.
Definition icon.hh:50
void set_data(const std::vector< uint8_t > &data)
Sets the raw icon data.
Definition icon.hh:56
bool operator==(const Icon &other) const
Equality comparison (based on data).
Definition icon.hh:76
const std::string & name() const
Returns the icon name (KDBX 4.1).
Definition icon.hh:59
Icon(const std::array< uint8_t, 16 > &uuid, std::vector< uint8_t > data)
Creates an icon with the given UUID and raw data.
Definition icon.hh:46
void set_name(const std::string &name)
Sets the icon name (KDBX 4.1).
Definition icon.hh:62
const std::vector< uint8_t > & data() const
Returns the raw icon data.
Definition icon.hh:53