diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-12-27 10:37:24 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-12-27 10:37:24 -0500 |
commit | 129b1c431efebc77a7a0046c725380ba29b814cf (patch) | |
tree | 860e97379bc9422f4f7bd8fade58f9752afd92d9 /include | |
parent | c4120c8ddaa5340efad5f835ce4565f2a8ae2cbf (diff) |
All three current protocols work with move to using uw_app
Diffstat (limited to 'include')
-rw-r--r-- | include/request.h | 5 | ||||
-rw-r--r-- | include/types.h | 22 | ||||
-rw-r--r-- | include/urweb.h | 3 |
3 files changed, 28 insertions, 2 deletions
diff --git a/include/request.h b/include/request.h index 73ee0468..d2385af7 100644 --- a/include/request.h +++ b/include/request.h @@ -7,7 +7,7 @@ typedef struct uw_rc *uw_request_context; -void uw_request_init(void *logger_data, uw_logger log_error, uw_logger log_debug); +void uw_request_init(uw_app *app, void *logger_data, uw_logger log_error, uw_logger log_debug); void uw_sign(const char *in, char *out); uw_request_context uw_new_request_context(void); @@ -22,9 +22,10 @@ request_result uw_request(uw_request_context, uw_context, int (*send)(int sockfd, const void *buf, ssize_t len), int (*close)(int fd)); -uw_context uw_request_new_context(void *logger_data, uw_logger log_error, uw_logger log_debug); +uw_context uw_request_new_context(uw_app*, void *logger_data, uw_logger log_error, uw_logger log_debug); typedef struct { + uw_app *app; void *logger_data; uw_logger log_error, log_debug; } loggers; diff --git a/include/types.h b/include/types.h index 767b2345..1c52d460 100644 --- a/include/types.h +++ b/include/types.h @@ -52,4 +52,26 @@ typedef struct input *uw_input; typedef void (*uw_callback)(void *); typedef void (*uw_logger)(void*, const char *fmt, ...); +typedef struct { + int inputs_len, timeout; + char *url_prefix; + + void (*client_init)(); + void (*initializer)(uw_context); + void (*expunger)(uw_context, uw_Basis_client); + + void (*db_init)(uw_context); + int (*db_begin)(uw_context); + int (*db_commit)(uw_context); + int (*db_rollback)(uw_context); + void (*db_close)(uw_context); + + void (*handle)(uw_context, char *); + + int (*input_num)(const char*); + uw_Basis_string (*cookie_sig)(uw_context); + int (*check_url)(const char *); + int (*check_mime)(const char *); +} uw_app; + #endif diff --git a/include/urweb.h b/include/urweb.h index 69e94c9b..8d182978 100644 --- a/include/urweb.h +++ b/include/urweb.h @@ -11,6 +11,7 @@ int uw_really_write(int fd, const void *buf, size_t len); extern uw_unit uw_unit_v; void uw_global_init(void); +void uw_app_init(uw_app*); void uw_client_connect(unsigned id, int pass, int sock, int (*send)(int sockfd, const void *buf, size_t len), @@ -20,12 +21,14 @@ void uw_prune_clients(uw_context); failure_kind uw_initialize(uw_context); uw_context uw_init(void); +void uw_set_app(uw_context, uw_app*); void uw_set_db(uw_context, void*); void *uw_get_db(uw_context); void uw_free(uw_context); void uw_reset(uw_context); void uw_reset_keep_request(uw_context); void uw_reset_keep_error_message(uw_context); +const char *uw_get_url_prefix(uw_context); failure_kind uw_begin_init(uw_context); void uw_set_on_success(char *); |