projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add mutex for service (ref counting)
[pazpar2-moved-to-github.git]
/
src
/
pazpar2_config.h
diff --git
a/src/pazpar2_config.h
b/src/pazpar2_config.h
index
f56ea7f
..
41d9431
100644
(file)
--- a/
src/pazpar2_config.h
+++ b/
src/pazpar2_config.h
@@
-1,5
+1,5
@@
/* This file is part of Pazpar2.
/* This file is part of Pazpar2.
- Copyright (C) 2006-2009 Index Data
+ Copyright (C) 2006-2010 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
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
@@
-20,11
+20,10
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef PAZPAR2_CONFIG_H
#define PAZPAR2_CONFIG_H
#ifndef PAZPAR2_CONFIG_H
#define PAZPAR2_CONFIG_H
-#include <libxslt/xslt.h>
-#include <libxslt/transform.h>
-#include <libxslt/xsltutils.h>
+#include "normalize_cache.h"
#include <yaz/nmem.h>
#include <yaz/nmem.h>
+#include <yaz/mutex.h>
#include "charsets.h"
enum conf_metadata_type {
#include "charsets.h"
enum conf_metadata_type {
@@
-58,7
+57,8
@@
enum conf_setting_type {
enum conf_metadata_mergekey {
Metadata_mergekey_no,
enum conf_metadata_mergekey {
Metadata_mergekey_no,
- Metadata_mergekey_yes
+ Metadata_mergekey_optional,
+ Metadata_mergekey_required
};
// Describes known metadata elements and how they are to be manipulated
};
// Describes known metadata elements and how they are to be manipulated
@@
-78,7
+78,7
@@
struct conf_metadata
enum conf_metadata_type type;
enum conf_metadata_merge merge;
enum conf_setting_type setting; // Value is to be taken from session/db settings?
enum conf_metadata_type type;
enum conf_metadata_merge merge;
enum conf_setting_type setting; // Value is to be taken from session/db settings?
- enum conf_metadata_type mergekey;
+ enum conf_metadata_mergekey mergekey;
};
};
@@
-98,6
+98,7
@@
struct conf_server;
// however, only a single service is possible.
struct conf_service
{
// however, only a single service is possible.
struct conf_service
{
+ YAZ_MUTEX mutex;
int num_metadata;
struct conf_metadata *metadata;
int num_sortkeys;
int num_metadata;
struct conf_metadata *metadata;
int num_sortkeys;
@@
-109,8
+110,9
@@
struct conf_service
NMEM nmem;
int session_timeout;
int z3950_session_timeout;
NMEM nmem;
int session_timeout;
int z3950_session_timeout;
- int z3950_connect_timeout;
-
+ int z3950_operation_timeout;
+
+ int ref_count;
/* duplicated from conf_server */
pp2_charset_t relevance_pct;
pp2_charset_t sort_pct;
/* duplicated from conf_server */
pp2_charset_t relevance_pct;
pp2_charset_t sort_pct;
@@
-135,6
+137,7
@@
struct conf_server
struct sockaddr_in *proxy_addr;
int listener_socket;
char *server_settings;
struct sockaddr_in *proxy_addr;
int listener_socket;
char *server_settings;
+ char *server_id;
pp2_charset_t relevance_pct;
pp2_charset_t sort_pct;
pp2_charset_t relevance_pct;
pp2_charset_t sort_pct;
@@
-154,20
+157,23
@@
struct conf_targetprofiles
struct conf_config *config_create(const char *fname, int verbose);
void config_destroy(struct conf_config *config);
struct conf_config *config_create(const char *fname, int verbose);
void config_destroy(struct conf_config *config);
-xsltStylesheet *conf_load_stylesheet(struct conf_service *service,
- const char *fname);
-
void config_start_databases(struct conf_config *config);
struct conf_service *locate_service(struct conf_server *server,
const char *service_id);
void config_start_databases(struct conf_config *config);
struct conf_service *locate_service(struct conf_server *server,
const char *service_id);
+struct conf_service *service_create(struct conf_server *server,
+ xmlNode *node);
+void service_incref(struct conf_service *service);
+void service_destroy(struct conf_service *service);
int config_start_listeners(struct conf_config *conf,
const char *listener_override);
void config_stop_listeners(struct conf_config *conf);
int config_start_listeners(struct conf_config *conf,
const char *listener_override);
void config_stop_listeners(struct conf_config *conf);
+WRBUF conf_get_fname(struct conf_service *service, const char *fname);
+
#endif
/*
#endif
/*