X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Futils-jbus.h;h=110d642a80d2b3f825ba062b409e68a5f23adaec;hb=2a319cf90daa6e3b01e8139923f7073e1c9bcf28;hp=3b6ec75f002bdc464829ef4082d64715a787dfa1;hpb=7fc272e5a9afc922f14c47b4c27d0a564e2de4ca;p=src%2Fapp-framework-main.git diff --git a/src/utils-jbus.h b/src/utils-jbus.h index 3b6ec75..110d642 100644 --- a/src/utils-jbus.h +++ b/src/utils-jbus.h @@ -1,5 +1,5 @@ /* - Copyright 2015 IoT.bzh + Copyright (C) 2015-2019 IoT.bzh author: José Bollo @@ -16,46 +16,118 @@ limitations under the License. */ +#pragma once -struct jreq; +struct sd_bus; + +struct sd_bus_message; struct jbus; -extern struct jbus *create_jbus(int session, const char *path); +extern struct jbus *create_jbus(struct sd_bus *sdbus, const char *path); + extern void jbus_addref(struct jbus *jbus); extern void jbus_unref(struct jbus *jbus); -struct pollfd; -extern int jbus_fill_pollfds(struct jbus **jbuses, int njbuses, struct pollfd *fds); -extern int jbus_dispatch_pollfds(struct jbus **jbuses, int njbuses, struct pollfd *fds, int maxcount); -extern int jbus_read_write_dispatch_multiple(struct jbus **jbuses, int njbuses, int toms, int maxcount); -extern int jbus_dispatch_multiple(struct jbus **jbuses, int njbuses, int maxcount); - -extern int jbus_read_write_dispatch(struct jbus *jbus, int toms); - /* verbs for the clients */ -extern int jbus_call_ss(struct jbus *jbus, const char *method, const char *query, void (*onresp)(int, const char *, void *), void *data); -extern int jbus_call_js(struct jbus *jbus, const char *method, struct json_object *query, void (*onresp)(int, const char *, void *), void *data); -extern int jbus_call_sj(struct jbus *jbus, const char *method, const char *query, void (*onresp)(int, struct json_object *, void *), void *data); -extern int jbus_call_jj(struct jbus *jbus, const char *method, struct json_object *query, void (*onresp)(int, struct json_object *, void *), void *data); - -extern char *jbus_call_ss_sync(struct jbus *jbus, const char *method, const char *query); -extern char *jbus_call_js_sync(struct jbus *jbus, const char *method, struct json_object *query); -extern struct json_object *jbus_call_sj_sync(struct jbus *jbus, const char *method, const char *query); -extern struct json_object *jbus_call_jj_sync(struct jbus *jbus, const char *method, struct json_object *query); - -extern int jbus_on_signal_s(struct jbus *jbus, const char *name, void (*onsignal)(const char *)); -extern int jbus_on_signal_j(struct jbus *jbus, const char *name, void (*onsignal)(struct json_object *)); +extern int jbus_call_ss( + struct jbus *jbus, + const char *method, + const char *query, + void (*onresp) (int, const char *, void *), + void *data); + +extern int jbus_call_js( + struct jbus *jbus, + const char *method, + struct json_object *query, + void (*onresp) (int, const char *, void *), + void *data); + +extern int jbus_call_sj( + struct jbus *jbus, + const char *method, + const char *query, + void (*onresp) (int, struct json_object *, void *), + void *data); + +extern int jbus_call_jj( + struct jbus *jbus, + const char *method, + struct json_object *query, + void (*onresp) (int, struct json_object *, void *), + void *data); + +extern char *jbus_call_ss_sync( + struct jbus *jbus, + const char *method, + const char *query); + +extern char *jbus_call_js_sync( + struct jbus *jbus, + const char *method, + struct json_object *query); + +extern struct json_object *jbus_call_sj_sync( + struct jbus *jbus, + const char *method, + const char *query); + +extern struct json_object *jbus_call_jj_sync( + struct jbus *jbus, + const char *method, + struct json_object *query); + +extern int jbus_on_signal_s( + struct jbus *jbus, + const char *name, + void (*onsignal) (const char *, void *), + void *data); + +extern int jbus_on_signal_j( + struct jbus *jbus, + const char *name, + void (*onsignal) (struct json_object *, void *), + void *data); /* verbs for servers */ -extern int jbus_reply_s(struct jreq *jreq, const char *reply); -extern int jbus_reply_j(struct jreq *jreq, struct json_object *reply); -extern int jbus_reply_error_s(struct jreq *jreq, const char *reply); -extern int jbus_reply_error_j(struct jreq *jreq, struct json_object *reply); - -extern int jbus_add_service_s(struct jbus *jbus, const char *method, void (*oncall)(struct jreq *, const char *)); -extern int jbus_add_service_j(struct jbus *jbus, const char *method, void (*oncall)(struct jreq *, struct json_object *)); -extern int jbus_start_serving(struct jbus *jbus); -extern int jbus_send_signal_s(struct jbus *jbus, const char *name, const char *content); -extern int jbus_send_signal_j(struct jbus *jbus, const char *name, struct json_object *content); - +extern int jbus_reply_s( + struct sd_bus_message *smsg, + const char *reply); + +extern int jbus_reply_j( + struct sd_bus_message *smsg, + struct json_object *reply); + +extern int jbus_reply_error_s( + struct sd_bus_message *smsg, + const char *reply); + +extern int jbus_reply_error_j( + struct sd_bus_message *smsg, + struct json_object *reply); + +extern int jbus_add_service_s( + struct jbus *jbus, + const char *method, + void (*oncall) (struct sd_bus_message *, const char *, void *), + void *data); + +extern int jbus_add_service_j( + struct jbus *jbus, + const char *method, + void (*oncall) (struct sd_bus_message *, struct json_object *, void *), + void *data); + +extern int jbus_start_serving( + struct jbus *jbus); + +extern int jbus_send_signal_s( + struct jbus *jbus, + const char *name, + const char *content); + +extern int jbus_send_signal_j( + struct jbus *jbus, + const char *name, + struct json_object *content);