X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-session.h;h=c93db5c42f750c4ef865192e69d3ed041148739e;hb=5fccb2dcb97fac7fbc16d66e947477e41d30a2b4;hp=a8009bfdece2b0a9e4f0629e4c7a7f36a601859c;hpb=541756a5f6af26338add0b1ac7a1c0c3bb518b80;p=src%2Fapp-framework-binder.git diff --git a/src/afb-session.h b/src/afb-session.h index a8009bfd..c93db5c4 100644 --- a/src/afb-session.h +++ b/src/afb-session.h @@ -19,18 +19,26 @@ struct afb_session; -extern void afb_session_init(int max_session_count, int timeout, const char *initok); +#define AFB_SESSION_TIMEOUT_INFINITE -1 +#define AFB_SESSION_TIMEOUT_DEFAULT -2 +#define AFB_SESSION_TIMEOUT_IS_VALID(x) ((x) >= AFB_SESSION_TIMEOUT_DEFAULT) + +extern int afb_session_init(int max_session_count, int timeout, const char *initok); +extern void afb_session_purge(); extern const char *afb_session_initial_token(); +extern void afb_session_foreach(void (*callback)(void *closure, struct afb_session *session), void *closure); extern struct afb_session *afb_session_create (int timeout); extern struct afb_session *afb_session_search (const char *uuid); -extern struct afb_session *afb_session_get (const char *uuid, int *created); +extern struct afb_session *afb_session_get (const char *uuid, int timeout, int *created); extern const char *afb_session_uuid (struct afb_session *session); extern struct afb_session *afb_session_addref(struct afb_session *session); extern void afb_session_unref(struct afb_session *session); +extern void afb_session_set_autoclose(struct afb_session *session, int autoclose); extern void afb_session_close(struct afb_session *session); +extern int afb_session_is_closed (struct afb_session *session); extern int afb_session_check_token(struct afb_session *session, const char *token); extern void afb_session_new_token(struct afb_session *session);