Refactor / reduce globals.
[pazpar2-moved-to-github.git] / src / pazpar2.h
index 243745c..7bb067f 100644 (file)
@@ -121,6 +121,7 @@ struct session_watchentry {
 
 // End-user session
 struct session {
+    struct conf_service *service; /* service in use for this session */
     struct session_database *databases;  // All databases, settings overriden
     struct client *clients;              // Clients connected for current search
     NMEM session_nmem;  // Nmem for session-permanent storage
@@ -163,7 +164,7 @@ struct hitsbytarget {
 
 struct hitsbytarget *hitsbytarget(struct session *s, int *count, NMEM nmem);
 int select_targets(struct session *se, struct database_criterion *crit);
-struct session *new_session(NMEM nmem);
+struct session *new_session(NMEM nmem, struct conf_service *service);
 void destroy_session(struct session *s);
 void session_init_databases(struct session *s);
 int load_targets(struct session *s, const char *fn);
@@ -172,14 +173,18 @@ enum pazpar2_error_code search(struct session *s, char *query,
                                char *filter, const char **addinfo);
 struct record_cluster **show(struct session *s, struct reclist_sortparms *sp, int start,
         int *num, int *total, int *sumhits, NMEM nmem_show);
-struct record_cluster *show_single(struct session *s, const char *id);
+struct record_cluster *show_single(struct session *s, const char *id,
+                                   struct record_cluster **prev_r,
+                                   struct record_cluster **next_r);
 struct termlist_score **termlist(struct session *s, const char *name, int *num);
 int session_set_watch(struct session *s, int what, session_watchfun fun, void *data, struct http_channel *c);
 int session_active_clients(struct session *s);
 void session_apply_setting(struct session *se, char *dbname, char *setting, char *value);
 const char *session_setting_oneval(struct session_database *db, int offset);
 
-int start_http_listener(void);
+int start_http_listener(struct conf_config *conf,
+                        const char *listener_override,
+                        const char *proxy_override);
 void start_proxy(void);
 
 void pazpar2_add_channel(IOCHAN c);