/******************* server part: manage events **********************************/
-static void server_event_add_cb(void *closure, const char *event, int eventid)
+static void server_event_add_cb(void *closure, const char *event, uint16_t eventid)
{
struct afb_stub_ws *stubws = closure;
afb_proto_ws_server_event_create(stubws->proto, event, eventid);
}
-static void server_event_remove_cb(void *closure, const char *event, int eventid)
+static void server_event_remove_cb(void *closure, const char *event, uint16_t eventid)
{
struct afb_stub_ws *stubws = closure;
afb_proto_ws_server_event_remove(stubws->proto, event, eventid);
}
-static void server_event_push_cb(void *closure, const char *event, int eventid, struct json_object *object)
+static void server_event_push_cb(void *closure, const char *event, uint16_t eventid, struct json_object *object)
{
struct afb_stub_ws *stubws = closure;
json_object_put(object);
}
-static void server_event_broadcast_cb(void *closure, const char *event, struct json_object *object)
+static void server_event_broadcast_cb(void *closure, const char *event, struct json_object *object, const uuid_binary_t uuid, uint8_t hop)
{
struct afb_stub_ws *stubws = closure;
if (stubws->proto != NULL)
- afb_proto_ws_server_event_broadcast(stubws->proto, event, object);
+ afb_proto_ws_server_event_broadcast(stubws->proto, event, object, uuid, hop);
json_object_put(object);
}
ERROR("unreadable push event");
}
-static void client_on_event_broadcast_cb(void *closure, const char *event_name, struct json_object *data)
+static void client_on_event_broadcast_cb(void *closure, const char *event_name, struct json_object *data, const uuid_binary_t uuid, uint8_t hop)
{
- afb_evt_broadcast(event_name, data);
+ afb_evt_rebroadcast(event_name, data, uuid, hop);
}
/*****************************************************/
wreq->call = call;
/* init the context */
- if (afb_context_connect(&wreq->xreq.context, sessionid, NULL) < 0)
+ if (afb_context_connect_validated(&wreq->xreq.context, sessionid) < 0)
goto unconnected;
- wreq->xreq.context.validated = 1;
server_record_session(stubws, wreq->xreq.context.session);
if (wreq->xreq.context.created)
afb_session_set_autoclose(wreq->xreq.context.session, 1);
/* makes the call */
- wreq->xreq.cred = afb_cred_mixed_on_behalf_import(stubws->cred, sessionid, user_creds);
+ wreq->xreq.cred = afb_cred_mixed_on_behalf_import(stubws->cred, &wreq->xreq.context, user_creds);
wreq->xreq.request.called_api = stubws->apiname;
wreq->xreq.request.called_verb = verb;
wreq->xreq.json = args;