summaryrefslogtreecommitdiffstats
path: root/src/afb-hreq.h
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-05-10 13:47:58 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2016-05-10 13:47:58 +0200
commitf1b901ed676b2d45ec8e6ae3d6ef2f94d79f9ee6 (patch)
treeea91e3f7485736acdd6aa83ffc6e0ff60f326577 /src/afb-hreq.h
parent19fb390ec60890d55bafe7a4c887b1453509f7ef (diff)
Refactoring requests and context handling
Also adds a first (untested) implmentation of the afb services over dbus. Change-Id: Id1bdeccf75f3a70d3658bdaf0510d6e7b97f6c32 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-hreq.h')
-rw-r--r--src/afb-hreq.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/afb-hreq.h b/src/afb-hreq.h
index 82e6b65a..3d197788 100644
--- a/src/afb-hreq.h
+++ b/src/afb-hreq.h
@@ -23,6 +23,8 @@ struct hreq_data;
struct afb_hsrv;
struct afb_hreq {
+ struct afb_context context;
+ int refcount;
struct afb_hsrv *hsrv;
const char *cacheTimeout;
struct MHD_Connection *connection;
@@ -37,14 +39,11 @@ struct afb_hreq {
const char *tail;
size_t lentail;
struct MHD_PostProcessor *postform;
- struct AFB_clientCtx *context;
struct hreq_data *data;
struct json_object *json;
int upgrade;
};
-extern void afb_hreq_free(struct afb_hreq *request);
-
extern int afb_hreq_unprefix(struct afb_hreq *request, const char *prefix, size_t length);
extern int afb_hreq_valid_tail(struct afb_hreq *request);
@@ -69,7 +68,7 @@ extern int afb_hreq_post_add(struct afb_hreq *hreq, const char *name, const char
extern struct afb_req afb_hreq_to_req(struct afb_hreq *hreq);
-extern struct AFB_clientCtx *afb_hreq_context(struct afb_hreq *hreq);
+extern int afb_hreq_init_context(struct afb_hreq *hreq);
extern int afb_hreq_init_cookie(int port, const char *path, int maxage);
@@ -82,3 +81,8 @@ extern void afb_hreq_reply_free(struct afb_hreq *hreq, unsigned status, size_t s
extern void afb_hreq_reply_empty(struct afb_hreq *hreq, unsigned status, ...);
extern int afb_hreq_init_download_path(const char *directory);
+
+extern void afb_hreq_addref(struct afb_hreq *hreq);
+
+extern void afb_hreq_unref(struct afb_hreq *hreq);
+