8#ifndef SEN_DB_SNAPSHOT_H
9#define SEN_DB_SNAPSHOT_H
23 SEN_COPY_MOVE(Snapshot)
33 [[nodiscard]] const
std::
string&
getName() const noexcept;
56 Snapshot(ObjectId objectId,
57 std::
string objectName,
58 std::
string sessionName,
61 std::vector<uint8_t> buffer);
64 void extractBuffersIfNeeded() const;
68 std::
string objectName_;
69 std::
string sessionName_;
72 std::vector<uint8_t> buffer_;
73 mutable
bool buffersExtracted_ = false;
Represents a property.
Definition property.h:79
Contiguous view of elements of type T. Inspired by http://www.open-std.org/jtc1/sc22/wg21/docs/papers...
Definition span.h:34
Span< const uint8_t > getPropertyAsBuffer(const Property *property) const
Get the value of a property as a serialized buffer.
const std::string & getSessionName() const noexcept
The session where the object was published.
const ConstTypeHandle< ClassType > & getType() const noexcept
The class of the object.
Definition snapshot.h:42
ObjectId getObjectId() const noexcept
The ID of the object.
Span< const uint8_t > getAllPropertiesBuffer() const noexcept
Get the buffer containing all the serialized properties.
const std::string & getName() const noexcept
The name of the object.
friend class Input
Definition snapshot.h:55
const std::string & getBusName() const noexcept
The bus where the object was published.
const Var & getPropertyAsVariant(const Property *property) const
Get the value of a property as a variant.
TypeHandle< const T > ConstTypeHandle
Definition type.h:319
Definition annotation.h:20
The hash of a member.
Definition type.h:39
Can hold any supported value type. Wraps std::variant to allow recursion and implements some helpers.
Definition var.h:119