summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-12-27 10:37:24 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-12-27 10:37:24 -0500
commit129b1c431efebc77a7a0046c725380ba29b814cf (patch)
tree860e97379bc9422f4f7bd8fade58f9752afd92d9 /include
parentc4120c8ddaa5340efad5f835ce4565f2a8ae2cbf (diff)
All three current protocols work with move to using uw_app
Diffstat (limited to 'include')
-rw-r--r--include/request.h5
-rw-r--r--include/types.h22
-rw-r--r--include/urweb.h3
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 *);