X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apis.h;h=f211bda8c81c662c15b98e50ec02c16414871ab1;hb=5e7d680c173ddbb26db4e49f7738f82e89299362;hp=59c7008f9e0c30eb12685325ab1df2f84f490a5b;hpb=68a8eaafe5f43480f29308bfd2ec12ad54da43f1;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apis.h b/src/afb-apis.h index 59c7008f..f211bda8 100644 --- a/src/afb-apis.h +++ b/src/afb-apis.h @@ -1,5 +1,5 @@ /* - * Copyright 2016 IoT.bzh + * Copyright (C) 2016, 2017 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,19 +18,26 @@ #pragma once struct afb_req; -struct AFB_clientCtx; +struct afb_context; +struct afb_xreq; struct afb_api { void *closure; - void (*call)(void *closure, struct afb_req req, const char *verb, size_t lenverb); - void (*free_context)(void *closure, void *context); + void (*call)(void *closure, struct afb_req req, struct afb_context *context, const char *verb); + int (*service_start)(void *closure, int share_session, int onneed); + void (*xcall)(void *closure, struct afb_xreq *xreq); }; -extern int afb_apis_count(); +extern int afb_apis_is_valid_api_name(const char *name); + extern int afb_apis_add(const char *name, struct afb_api api); -extern void afb_apis_call(struct afb_req req, struct AFB_clientCtx *context, const char *api, size_t lenapi, const char *verb, size_t lenverb); -extern void afb_apis_free_context(int apiidx, void *context); +extern int afb_apis_start_all_services(int share_session); +extern int afb_apis_start_service(const char *name, int share_session, int onneed); + +extern void afb_apis_call(struct afb_req req, struct afb_context *context, const char *api, const char *verb); +extern void afb_apis_xcall(struct afb_xreq *xreq); +