X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fafb-svc.c;h=c52ad654a0fb2eff8ab0b9799331d53dfe644381;hb=0af860df66cded39478fd6690dea4ce0f8b7c799;hp=95617d5db946f3f538af3ae20f865dc989d060e9;hpb=d8ef25780bffa6f91f013ef71b1ede908325e59d;p=src%2Fapp-framework-binder.git diff --git a/src/afb-svc.c b/src/afb-svc.c index 95617d5d..c52ad654 100644 --- a/src/afb-svc.c +++ b/src/afb-svc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 "IoT.bzh" + * Copyright (C) 2016, 2017 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,7 +24,7 @@ #include #include -#include "session.h" +#include "afb-session.h" #include "afb-context.h" #include "afb-evt.h" #include "afb-subcall.h" @@ -36,7 +36,7 @@ struct afb_svc { /* session of the service */ - struct AFB_clientCtx *session; + struct afb_session *session; /* event listener of the service or NULL */ struct afb_evt_listener *listener; @@ -100,8 +100,8 @@ const struct afb_req_itf afb_svc_req_itf = { .subcall = (void*)svcreq_subcall }; -/* the common session for services sahring their session */ -static struct AFB_clientCtx *common_session; +/* the common session for services sharing their session */ +static struct afb_session *common_session; /* * Creates a new service @@ -120,19 +120,20 @@ struct afb_svc *afb_svc_create(int share_session, int (*init)(struct afb_service if (share_session) { /* session shared with other svcs */ if (common_session == NULL) { - common_session = ctxClientCreate (NULL, 0); + common_session = afb_session_create (NULL, 0); if (common_session == NULL) goto error2; } - svc->session = ctxClientAddRef(common_session); + svc->session = afb_session_addref(common_session); } else { /* session dedicated to the svc */ - svc->session = ctxClientCreate (NULL, 0); + svc->session = afb_session_create (NULL, 0); if (svc->session == NULL) goto error2; } /* initialises the listener if needed */ + svc->on_event = on_event; if (on_event == NULL) svc->listener = NULL; else { @@ -152,7 +153,7 @@ error4: if (svc->listener != NULL) afb_evt_listener_unref(svc->listener); error3: - ctxClientUnref(svc->session); + afb_session_unref(svc->session); error2: free(svc); error: @@ -165,6 +166,7 @@ error: static void svc_on_event(struct afb_svc *svc, const char *event, int eventid, struct json_object *object) { svc->on_event(event, object); + json_object_put(object); } /*