Go to the documentation of this file.
9 #ifndef EAGINE_MESSAGE_BUS_SERVICE_BUILD_INFO_HPP
10 #define EAGINE_MESSAGE_BUS_SERVICE_BUILD_INFO_HPP
12 #include "../../bool_aggregate.hpp"
13 #include "../../main_ctx.hpp"
14 #include "../../maybe_unused.hpp"
15 #include "../../serialize/type/build_info.hpp"
16 #include "../service.hpp"
22 template <
typename Base = subscriber>
23 class build_info_provider :
public Base {
24 using This = build_info_provider;
32 Base::add_method(_respond(
40 default_function_skeleton<
const build_info&() noexcept, 256> _respond;
43 template <
typename Base = subscriber>
44 class build_info_consumer :
public Base {
46 using This = build_info_consumer;
54 Base::add_method(_build(
57 on_build_info_received))[
EAGINE_MSG_ID(eagiBldInf, response)]);
66 virtual void on_build_info_received(
const result_context&, build_info&&) = 0;
69 default_callback_invoker<
build_info(), 32> _build;
74 #endif // EAGINE_MESSAGE_BUS_SERVICE_BUILD_INFO_HPP
#define EAGINE_MSG_ID(API, NAME)
Macro for instantiating objects of static_message_id.
Definition: message_id.hpp:148
Message bus code is placed in this namespace.
Definition: eagine.hpp:58
#define EAGINE_THIS_MEM_FUNC_C(FUNC)
Macro for creating object of member_function_constant in member functions.
Definition: mem_func_const.hpp:206
std::uint64_t identifier_t
The underlying integer type for eagine::identifier.
Definition: identifier_t.hpp:19
auto bus() noexcept -> auto &
Returns a reference to the associated endpoint.
Definition: subscriber.hpp:38
static auto get() noexcept -> main_ctx &
Returns the single instance.
Definition: main_ctx.hpp:64
#define EAGINE_MEM_FUNC_C(CLASS, FUNC)
Macro for creating object of member_function_constant.
Definition: mem_func_const.hpp:186
@ build_info
The build information has appeared or changed.