/* This file is part of Pazpar2.
- Copyright (C) 2006-2012 Index Data
+ Copyright (C) 2006-2013 Index Data
Pazpar2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
#define PZ_MAX_CONNECTIONS 21
#define PZ_REUSE_CONNECTIONS 22
#define PZ_TERMLIST_TERM_FACTOR 23
-#define PZ_PREFERRED 24
-#define PZ_EXTRA_ARGS 25
-#define PZ_QUERY_SYNTAX 26
-#define PZ_FACETMAP 27
-#define PZ_LIMITMAP 28
-#define PZ_URL 29
-#define PZ_SORTMAP 30
-#define PZ_MAX_EOF 31
+#define PZ_TERMLIST_TERM_COUNT 24
+#define PZ_PREFERRED 25
+#define PZ_EXTRA_ARGS 26
+#define PZ_QUERY_SYNTAX 27
+#define PZ_FACETMAP 28
+#define PZ_LIMITMAP 29
+#define PZ_URL 30
+#define PZ_SORTMAP 31
+#define PZ_PRESENT_CHUNK 32
+#define PZ_BLOCK_TIMEOUT 33
+#define PZ_EXTENDRECS 34
+#define PZ_AUTHENTICATION_MODE 35
+#define PZ_MAX_EOF 36
struct setting
{
struct setting *next;
};
-void settings_read_file(struct conf_service *service, const char *path,
- int pass);
-void settings_read_node(struct conf_service *service, xmlNode *n,
- int pass);
+// Represents a database
+struct database {
+ char *id;
+ int num_settings;
+ struct setting **settings;
+ struct database *next;
+};
+
+struct settings_array
+{
+ // Array of pointer setting, index is looked up in setting_dictionary
+ struct setting **settings;
+ int num_settings;
+};
+
+int settings_read_file(struct conf_service *service, const char *path,
+ int pass);
+int settings_read_node(struct conf_service *service, xmlNode *n, int pass);
int settings_num(struct conf_service *service);
int settings_create_offset(struct conf_service *service, const char *name);
int settings_lookup_offset(struct conf_service *service, const char *name);
void init_settings(struct conf_service *service);
-void settings_read_node_x(xmlNode *n,
- void *client_data,
- void (*fun)(void *client_data,
- struct setting *set));
+int settings_read_node_x(xmlNode *n,
+ void *client_data,
+ void (*fun)(void *client_data,
+ struct setting *set));
void expand_settings_array(struct setting ***set_ar, int *num, int offset,
NMEM nmem);