sd_device_enumerator_add_all_parents;
sd_json_variant_type_from_string;
sd_json_variant_type_to_string;
+ sd_varlink_get_current_method;
sd_varlink_get_input_fd;
sd_varlink_get_output_fd;
sd_varlink_reset_fds;
return 0;
}
+_public_ int sd_varlink_get_current_method(sd_varlink *v, const char **ret) {
+ assert_return(v, -EINVAL);
+
+ if (!v->current)
+ return -ENODATA;
+
+ sd_json_variant *p = sd_json_variant_by_key(v->current, "method");
+ if (!p)
+ return -ENODATA;
+
+ const char *s = sd_json_variant_string(p);
+ if (!s)
+ return -ENODATA;
+
+ if (ret)
+ *ret = s;
+ return 0;
+}
+
_public_ int sd_varlink_get_current_parameters(sd_varlink *v, sd_json_variant **ret) {
sd_json_variant *p;
int sd_varlink_dispatch_again(sd_varlink *v);
/* Get the currently processed incoming message */
+int sd_varlink_get_current_method(sd_varlink *v, const char **ret);
int sd_varlink_get_current_parameters(sd_varlink *v, sd_json_variant **ret);
/* Parsing incoming data via json_dispatch() and generate a nice error on parse errors */