X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apis.h;h=540b644bf7dea61a0c5f9b69ceb92866fa9961b7;hb=0b838a6101edc810098ee0645d3bfd966096ae07;hp=9127e6d8615e24bc7ac7c994683d4c2fc348562d;hpb=11d36a9f7e16aa9992835f8ce06f0e1e5297b131;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apis.h b/src/afb-apis.h index 9127e6d8..540b644b 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"); @@ -15,20 +15,27 @@ * limitations under the License. */ +#pragma once -extern int afb_apis_count(); +struct afb_req; +struct afb_context; +struct afb_xreq; -extern void afb_apis_free_context(int apiidx, void *context); +struct afb_api +{ + void *closure; + void (*call)(void *closure, struct afb_xreq *xreq); + int (*service_start)(void *closure, int share_session, int onneed); +}; -extern int afb_apis_add_plugin(const char *path); -extern int afb_apis_add_directory(const char *path); +extern int afb_apis_is_valid_api_name(const char *name); -extern int afb_apis_add_path(const char *path); +extern int afb_apis_add(const char *name, struct afb_api api); -extern int afb_apis_add_pathset(const char *pathset); +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_xreq *xreq); -struct afb_req; -struct AFB_clientCtx; -extern int afb_apis_handle(struct afb_req req, struct AFB_clientCtx *context, const char *api, size_t lenapi, const char *verb, size_t lenverb);