int bus_add_match_internal(
sd_bus *bus,
const char *match,
+ struct bus_match_component *components,
+ unsigned n_components,
uint64_t cookie) {
const char *e;
return -EINVAL;
if (bus->is_kernel)
- return bus_add_match_internal_kernel(bus, NULL, 0, cookie);
+ return bus_add_match_internal_kernel(bus, components, n_components, cookie);
e = append_eavesdrop(bus, match);
***/
#include "sd-bus.h"
+#include "bus-match.h"
-int bus_add_match_internal(sd_bus *bus, const char *match, uint64_t cookie);
+int bus_add_match_internal(sd_bus *bus, const char *match, struct bus_match_component *components, unsigned n_components, uint64_t cookie);
int bus_add_match_internal_async(sd_bus *bus, sd_bus_slot **ret, const char *match, sd_bus_message_handler_t callback, void *userdata);
int bus_remove_match_internal(sd_bus *bus, const char *match, uint64_t cookie);
add_match_callback,
s);
else
- r = bus_add_match_internal(bus, s->match_callback.match_string, s->match_callback.cookie);
+ r = bus_add_match_internal(bus, s->match_callback.match_string, components, n_components, s->match_callback.cookie);
if (r < 0)
goto finish;