6#include <esphome/api/proto/message_id.hpp>
28 [[nodiscard]]
static std::unique_ptr<ProtoMessage>
create(std::uint32_t
id);
29 [[nodiscard]]
static std::unique_ptr<ProtoMessage>
create(MessageId
id);
32 [[nodiscard]]
static bool contains(std::uint32_t
id);
35 [[nodiscard]]
static std::size_t
size() noexcept;
Maps the protocol's numeric message ids (the proto (id) option) to and from concrete message types.
Definition message_registry.hpp:21
static bool contains(std::uint32_t id)
Whether a message type with id exists.
static std::unique_ptr< ProtoMessage > create(MessageId id)
static std::uint32_t id_of(const ProtoMessage &msg)
The message id of a concrete message instance (0 if it carries none).
static std::size_t size() noexcept
Number of registered message types.
static std::unique_ptr< ProtoMessage > create(std::uint32_t id)
Create a default-constructed message for id, or nullptr if no message type carries that id.
static const MessageRegistry & instance()
The process-wide registry (constructed on first use).
Base class every generated message derives from.
Definition proto_message.hpp:23
Lightweight base class for every generated ESPHome API message.