Update copyright dates
[src/app-framework-binder.git] / src / afb-xreq.h
index 270de1b..ccd79c4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017-2019 "IoT.bzh"
+ * Copyright (C) 2015-2020 "IoT.bzh"
  * Author José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -55,10 +55,10 @@ struct afb_xreq
        const struct afb_xreq_query_itf *queryitf; /**< interface of xreq implementation functions */
        int refcount;                   /**< current ref count */
        int replied;                    /**< is replied? */
+#if WITH_AFB_HOOK
        int hookflags;                  /**< flags for hooking */
        int hookindex;                  /**< hook index of the request if hooked */
-       struct afb_evt_listener *listener; /**< event listener for the request */
-       struct afb_cred *cred;          /**< client credential if revelant */
+#endif
        struct afb_xreq *caller;        /**< caller request if any */
 };
 
@@ -83,6 +83,7 @@ struct afb_xreq
 
 /* req wrappers for xreq */
 extern struct afb_req_x1 afb_xreq_unstore(struct afb_stored_req *sreq);
+
 extern void afb_xreq_addref(struct afb_xreq *xreq);
 extern void afb_xreq_unref(struct afb_xreq *xreq);
 extern void afb_xreq_unhooked_addref(struct afb_xreq *xreq);
@@ -94,8 +95,12 @@ extern struct json_object *afb_xreq_json(struct afb_xreq *xreq);
 extern void afb_xreq_reply(struct afb_xreq *xreq, struct json_object *obj, const char *error, const char *info);
 extern void afb_xreq_reply_f(struct afb_xreq *xreq, struct json_object *obj, const char *error, const char *info, ...);
 
-extern void afb_xreq_reply_unknown_api(struct afb_xreq *xreq);
-extern void afb_xreq_reply_unknown_verb(struct afb_xreq *xreq);
+extern int afb_xreq_reply_unknown_api(struct afb_xreq *xreq);
+extern int afb_xreq_reply_unknown_verb(struct afb_xreq *xreq);
+
+extern int afb_xreq_reply_invalid_token(struct afb_xreq *xreq);
+extern int afb_xreq_reply_insufficient_scope(struct afb_xreq *xreq, const char *scope);
+
 
 extern const char *afb_xreq_raw(struct afb_xreq *xreq, size_t *size);
 
@@ -152,8 +157,13 @@ extern void afb_xreq_init(struct afb_xreq *xreq, const struct afb_xreq_query_itf
 
 extern void afb_xreq_process(struct afb_xreq *xreq, struct afb_apiset *apiset);
 
+#if WITH_LEGACY_BINDING_V1
 extern void afb_xreq_call_verb_v1(struct afb_xreq *xreq, const struct afb_verb_desc_v1 *verb);
+#endif
+#if WITH_LEGACY_BINDING_V2
 extern void afb_xreq_call_verb_v2(struct afb_xreq *xreq, const struct afb_verb_v2 *verb);
+#endif
+
 extern void afb_xreq_call_verb_v3(struct afb_xreq *xreq, const struct afb_verb_v3 *verb);
 
 extern const char *xreq_on_behalf_cred_export(struct afb_xreq *xreq);