X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-req-itf.h;h=d747d0b881d342c7c9daa1c5207d50a89f6fb99e;hb=1205c90cccd3144bab24b4b5fd8dcbf0d0e6b570;hp=6fa854c2350a711852e67923cba80c537ad23c1d;hpb=cc4b56b6710624c069642d1a510d0060949fe5b9;p=src%2Fapp-framework-binder.git diff --git a/src/afb-req-itf.h b/src/afb-req-itf.h index 6fa854c2..d747d0b8 100644 --- a/src/afb-req-itf.h +++ b/src/afb-req-itf.h @@ -17,26 +17,29 @@ struct afb_req_itf { - const char *(*get_cookie)(void *data, const char *name); - const char *(*get_argument)(void *data, const char *name); -#if 0 - int (*set_cookie)(void *data, const char *name, const char *value); -#endif + const char *(*argument)(void *data, const char *name); + int (*is_argument_file)(void *data, const char *name); + int (*iterate_arguments)(void *data, int (*iterator)(void *closure, const char *key, const char *value, int isfile), void *closure); }; struct afb_req { - struct afb_req_itf *itf; + const struct afb_req_itf *itf; void *data; }; -inline const char *afb_get_cookie(struct afb_req req, const char *name) +static inline const char *afb_req_argument(struct afb_req req, const char *name) { - return req.itf->get_cookie(req.data, name); + return req.itf->argument(req.data, name); } -inline const char *afb_get_argument(struct afb_req req, const char *name) +static inline int afb_req_argument_file(struct afb_req req, const char *name) { - return req.itf->get_argument(req.data, name); + return req.itf->is_argument_file(req.data, name); +} + +static inline int afb_req_iterate_arguments(struct afb_req req, int (*iterator)(void *closure, const char *key, const char *value, int isfile), void *closure) +{ + return req.itf->iterate_arguments(req.data, iterator, closure); }