100 #ifdef VLINK_SUPPORT_SOMEIP
106 #include "../impl/conf.h"
121 using Groups = std::set<uint16_t>;
124 uint16_t instance{0};
137 explicit SomeipConf(uint16_t _service, uint16_t _instance, uint16_t _method);
148 explicit SomeipConf(uint16_t _service, uint16_t _instance,
const Groups& _groups, uint16_t _event,
149 bool _field =
false);
157 [[nodiscard]]
bool operator==(
const SomeipConf& conf)
const noexcept;
165 [[nodiscard]]
bool operator!=(
const SomeipConf& conf)
const noexcept;
172 [[nodiscard]]
TransportType get_transport_type()
const override;
186 static bool load_global_config_file(
const std::string& filepath);
188 #ifndef VLINK_ENABLE_C_INTERFACE
199 inline SomeipConf::SomeipConf(uint16_t _service, uint16_t _instance, uint16_t _method)
200 : service(_service), instance(_instance), method(_method) {}
202 inline SomeipConf::SomeipConf(uint16_t _service, uint16_t _instance,
const Groups& _groups, uint16_t _event,
204 : service(_service), instance(_instance), groups(_groups), event(_event), field(_field) {}
207 return service == conf.service && instance == conf.instance && method == conf.method && groups == conf.groups &&
208 event == conf.event && field == conf.field;
213 inline TransportType SomeipConf::get_transport_type()
const {
return TransportType::kSomeip; }
#define VLINK_CONF_IMPL(classname)
Convenience macro that emits the standard concrete conf boilerplate.
Definition: conf.h:251
#define VLINK_DECLARE_GLOBAL_PROPERTY()
Declares per-transport static configuration storage and access helpers.
Definition: conf.h:309
#define VLINK_ALLOW_IMPL_TYPE(type)
Records the bitmask of ImplType values supported by a conf.
Definition: conf.h:292
#define VLINK_EXPORT
Definition: macros.h:81
bool operator==(const Function< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
Equality with nullptr; true when cb has no stored target.
Definition: functional.h:1051
bool operator!=(const Function< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
Inequality with nullptr; true when cb stores a target.
Definition: functional.h:1061
TransportType
Enumeration of every transport backend recognised by VLink.
Definition: types.h:128
@ kGetter
Field getter (reads latest value).
Definition: types.h:117
@ kSubscriber
Event subscriber (receives broadcasts).
Definition: types.h:115
@ kClient
Method client (RPC caller).
Definition: types.h:113
@ kSetter
Field setter (writes latest value).
Definition: types.h:116
@ kPublisher
Event publisher (one-to-many broadcast).
Definition: types.h:114
@ kServer
Method server (RPC responder).
Definition: types.h:112