X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fpazpar2.h;h=d111196bb4c37c1dc99f175245b0c8a5a1aa7a7c;hb=df1262e4bb33b78f429baec77e2c68e4d6c9d592;hp=78862fb8e6868d2812144d50efae43c135c54709;hpb=cc29eab9f928f6cd0f4231cb2e554e2ac7b0b1f3;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2.h b/src/pazpar2.h index 78862fb..d111196 100644 --- a/src/pazpar2.h +++ b/src/pazpar2.h @@ -1,4 +1,4 @@ -/* $Id: pazpar2.h,v 1.21 2007-04-10 08:48:56 adam Exp $ +/* $Id: pazpar2.h,v 1.28 2007-04-20 04:32:33 quinn Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -87,18 +87,17 @@ struct host { struct database { struct host *host; char *url; - char *name; char **databases; int errors; struct zr_explain *explain; struct setting **settings; struct database *next; - CCL_bibset ccl_map; yaz_marc_t yaz_marc; struct database_retrievalmap *map; }; -// Normalization filter chain. Turns incoming record into internal representation +// Normalization filter. Turns incoming record into internal representation +// Simple sequence of stylesheets run in series. struct database_retrievalmap { xsltStylesheet *stylesheet; struct database_retrievalmap *next; @@ -133,9 +132,10 @@ struct connection { // Represents client state for a connection to one search target struct client { - struct database *database; + struct session_database *database; struct connection *connection; struct session *session; + char *pquery; // Current search int hits; int records; int setno; @@ -175,15 +175,15 @@ struct named_termlist struct session_database { struct database *database; - struct setting *settings; + struct setting **settings; struct session_database *next; }; // End-user session struct session { - struct client *clients; + struct session_database *databases; // All databases, settings overriden + struct client *clients; // Clients connected for current search int requestid; - char query[1024]; NMEM session_nmem; // Nmem for session-permanent storage NMEM nmem; // Nmem for each operation (i.e. search, result set, etc) WRBUF wrbuf; // Wrbuf for scratch(i.e. search) @@ -257,7 +257,16 @@ struct record_cluster *show_single(struct session *s, int id); struct termlist_score **termlist(struct session *s, const char *name, int *num); void session_set_watch(struct session *s, int what, session_watchfun fun, void *data); int session_active_clients(struct session *s); +void session_apply_setting(struct session *se, char *dbname, char *setting, char *value); +char *session_setting_oneval(struct session_database *db, int offset); + +void start_http_listener(void); +void start_proxy(void); +void start_zproxy(void); +extern struct parameters global_parameters; +void pazpar2_add_channel(IOCHAN c); +void pazpar2_event_loop(void); #endif /*