/* 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
*/
/** \file client.h
- \brief Z39.50 client
+ \brief Z39.50 client
*/
#ifndef CLIENT_H
#define CLIENT_H
#include "facet_limit.h"
+#include "reclists.h"
struct client;
struct connection;
Client_Disconnected
};
+int clients_count(void);
int client_show_raw_begin(struct client *cl, int position,
const char *syntax, const char *esn,
void *data,
struct session_database *client_get_database(struct client *cl);
void client_set_database(struct client *cl, struct session_database *db);
struct session *client_get_session(struct client *cl);
-const char *client_get_pquery(struct client *cl);
-void client_init_response(struct client *cl, Z_APDU *a);
void client_search_response(struct client *cl);
-void client_record_response(struct client *cl);
-void client_close_response(struct client *cl, Z_APDU *a);
-
-int client_is_our_response(struct client *cl);
-
-void client_continue(struct client *cl);
+void client_record_response(struct client *cl, int *got_records);
struct client *client_create(const char *url);
int client_destroy(struct client *c);
int operation_timeout, int session_timeout,
iochan_man_t iochan,
const struct timeval *abstime);
-void client_start_search(struct client *cl);
+int client_start_search(struct client *cl);
+int client_fetch_more(struct client *cl);
+int client_parse_init(struct client *cl, int same_search);
+int client_parse_range(struct client *cl, const char *startrecs, const char *maxrecs);
+int client_parse_sort(struct client *cl, struct reclist_sortparms *sp);
void client_set_session(struct client *cl, struct session *se);
int client_is_active(struct client *cl);
int client_is_active_preferred(struct client *cl);
struct client *client_next_in_session(struct client *cl);
int client_parse_query(struct client *cl, const char *query,
- facet_limits_t facet_limits, const char *startrecs,
- const char *maxrecs,
- CCL_bibset bibset);
+ facet_limits_t facet_limits, const char **error_msg);
Odr_int client_get_hits(struct client *cl);
Odr_int client_get_approximation(struct client *cl);
int client_get_num_records(struct client *cl);
int client_get_num_records_filtered(struct client *cl);
-int client_get_diagnostic(struct client *cl, const char **addinfo);
+int client_get_diagnostic(struct client *cl,
+ const char **message, const char **addinfo);
void client_set_diagnostic(struct client *cl, int diagnostic,
- const char *addinfo);
+ const char *message, const char *addinfo);
void client_set_database(struct client *cl, struct session_database *db);
const char *client_get_id(struct client *cl);
int client_get_maxrecs(struct client *cl);
int client_has_facet(struct client *cl, const char *name);
void client_check_preferred_watch(struct client *cl);
-void client_reingest(struct client *cl);
+int client_reingest(struct client *cl);
const char *client_get_facet_limit_local(struct client *cl,
struct session_database *sdb,
int *l,
NMEM nmem, int *num, char ***values);
+
+void client_update_show_stat(struct client *cl, int cmd);
+
#endif
/*