91#ifdef VLINK_SUPPORT_SOMEIP
111 using Groups = std::set<uint16_t>;
114 uint16_t instance{0};
127 explicit SomeipConf(uint16_t _service, uint16_t _instance, uint16_t _method);
138 explicit SomeipConf(uint16_t _service, uint16_t _instance,
const Groups& _groups, uint16_t _event,
139 bool _field =
false);
148 [[nodiscard]]
bool operator==(
const SomeipConf& conf)
const noexcept;
156 [[nodiscard]]
bool operator!=(
const SomeipConf& conf)
const noexcept;
163 [[nodiscard]]
TransportType get_transport_type()
const override;
176 static bool load_global_config_file(
const std::string& filepath);
178#ifndef VLINK_ENABLE_C_INTERFACE
189inline SomeipConf::SomeipConf(uint16_t _service, uint16_t _instance, uint16_t _method)
190 : service(_service), instance(_instance), method(_method) {}
192inline SomeipConf::SomeipConf(uint16_t _service, uint16_t _instance,
const Groups& _groups, uint16_t _event,
194 : service(_service), instance(_instance), groups(_groups), event(_event), field(_field) {}
196inline bool SomeipConf::operator==(
const SomeipConf& conf)
const noexcept {
197 return service == conf.service && instance == conf.instance && method == conf.method && groups == conf.groups &&
198 event == conf.event && field == conf.field;
201inline bool SomeipConf::operator!=(
const SomeipConf& conf)
const noexcept {
return !(*
this == conf); }
203inline TransportType SomeipConf::get_transport_type()
const {
return TransportType::kSomeip; }
Abstract transport configuration base class and associated helper macros.
#define VLINK_CONF_IMPL(classname)
Standard boilerplate for concrete Conf subclass declarations.
Definition conf.h:227
#define VLINK_DECLARE_GLOBAL_PROPERTY()
Declares per-transport global state: thread count and property storage.
Definition conf.h:292
#define VLINK_ALLOW_IMPL_TYPE(type)
Declares a static constexpr bitmask of supported ImplType values.
Definition conf.h:268
#define VLINK_EXPORT
Definition macros.h:85
TransportType
Enumeration of all supported transport backends.
Definition types.h:107
Abstract base class for VLink transport configuration objects.
Definition conf.h:83