struct conf_metadata *metadata;
int num_sortkeys;
struct conf_sortkey *sortkeys;
+ struct setting_dictionary *dictionary;
+ struct conf_service *next;
+ char *id;
+ char *settings;
+ NMEM nmem;
+
+ /* duplicated from conf_server */
+ pp2_charset_t relevance_pct;
+ pp2_charset_t sort_pct;
+ pp2_charset_t mergekey_pct;
+ struct database *databases;
+ struct conf_targetprofiles *targetprofiles;
};
-struct conf_service * conf_service_create(NMEM nmem,
- int num_metadata, int num_sortkeys);
+struct conf_service * conf_service_create(int num_metadata, int num_sortkeys,
+ const char *service_id);
-struct conf_metadata* conf_service_add_metadata(NMEM nmem,
- struct conf_service *service,
+struct conf_metadata* conf_service_add_metadata(struct conf_service *service,
int field_id,
const char *name,
enum conf_metadata_type type,
int sortkey_offset,
enum conf_metadata_mergekey mt);
-struct conf_sortkey * conf_service_add_sortkey(NMEM nmem,
- struct conf_service *service,
+struct conf_sortkey * conf_service_add_sortkey(struct conf_service *service,
int field_id,
const char *name,
enum conf_sortkey_type type);
char *proxy_host;
int proxy_port;
char *myurl;
- char *settings;
+ char *server_settings;
pp2_charset_t relevance_pct;
pp2_charset_t sort_pct;
struct conf_config
{
+ NMEM nmem; /* for conf_config and servers memory */
struct conf_server *servers;
- struct conf_targetprofiles *targetprofiles;
};
-#ifndef CONFIG_NOEXTERNS
+struct conf_config *read_config(const char *fname);
+xsltStylesheet *conf_load_stylesheet(const char *fname);
-extern struct conf_config *config;
+void config_read_settings(struct conf_config *config,
+ const char *path_override);
-#endif
+struct conf_service *locate_service(struct conf_server *server,
+ const char *service_id);
-int read_config(const char *fname);
-xsltStylesheet *conf_load_stylesheet(const char *fname);
#endif