Substring matching for target selectiion.
[pazpar2-moved-to-github.git] / src / pazpar2.h
index 5580046..b6771d1 100644 (file)
@@ -26,11 +26,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <yaz/yaz-ccl.h>
 
 #include "termlists.h"
-#include "relevance.h"
 #include "reclists.h"
-#include "eventl.h"
 #include "pazpar2_config.h"
-#include "parameters.h"
 #include "http.h"
 
 struct record;
@@ -55,6 +52,11 @@ enum pazpar2_error_code {
     PAZPAR2_LAST_ERROR
 };
 
+enum pazpar2_database_criterion_type {
+    PAZPAR2_STRING_MATCH,
+    PAZPAR2_SUBSTRING_MATCH
+};
+
 // Represents a (virtual) database on a host
 struct database {
     struct host *host;
@@ -73,6 +75,7 @@ struct database_criterion_value {
 
 struct database_criterion {
     char *name;
+    enum pazpar2_database_criterion_type type;
     struct database_criterion_value *values;
     struct database_criterion *next;
 };
@@ -81,6 +84,7 @@ struct database_criterion {
 // Simple sequence of stylesheets run in series.
 struct database_retrievalmap {
     xsltStylesheet *stylesheet;
+    struct marcmap *marcmap;
     struct database_retrievalmap *next;
 };
 
@@ -90,9 +94,6 @@ struct session_database
 {
     struct database *database;
     struct setting **settings;
-#ifdef RETIRED
-    yaz_marc_t yaz_marc;
-#endif
     struct database_retrievalmap *map;
     struct session_database *next;
 };
@@ -169,8 +170,8 @@ void destroy_session(struct session *s);
 void session_init_databases(struct session *s);
 int load_targets(struct session *s, const char *fn);
 void statistics(struct session *s, struct statistics *stat);
-enum pazpar2_error_code search(struct session *s, char *query, 
-                               char *filter, const char **addinfo);
+enum pazpar2_error_code search(struct session *s, const char *query, 
+                               const 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,
@@ -182,9 +183,6 @@ 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);
-void start_proxy(void);
-
 void pazpar2_add_channel(IOCHAN c);
 void pazpar2_event_loop(void);