X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Futils-jbus.h;h=218c21d63d490fd20eacedf2c48a319a034d5f4f;hb=d7a517e6b430ba2d8a60467e3c438fe2a5c12df6;hp=f1ec78fd99f2dbbec1025296a7bd4a63a4af4631;hpb=f145b390adea074c40470b677d8721877520150a;p=src%2Fapp-framework-main.git diff --git a/src/utils-jbus.h b/src/utils-jbus.h index f1ec78f..218c21d 100644 --- a/src/utils-jbus.h +++ b/src/utils-jbus.h @@ -1,6 +1,8 @@ /* Copyright 2015 IoT.bzh + author: José Bollo + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -18,14 +20,35 @@ struct jreq; struct jbus; - -struct jbus *create_jbus(int session, const char *path); -void jbus_addref(struct jbus *jbus); -void jbus_unref(struct jbus *jbus); - -int jbus_reply(struct jreq *jreq, struct json_object *reply); -int jbus_add_service(struct jbus *jbus, const char *method, void (*oncall)(struct jreq *, struct json_object *)); - -int jbus_callj(struct jbus *jbus, const char *method, const char *query, void (*onresp)(int, struct json_object *, void *), void *data); -int jbus_call(struct jbus *jbus, const char *method, struct json_object *query, void (*onresp)(int, struct json_object *response, void *), void *data); +extern struct jbus *create_jbus(int session, const char *path); +extern void jbus_addref(struct jbus *jbus); +extern void jbus_unref(struct jbus *jbus); + +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 *)); + +/* 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);