00001 /* This file is part of the YAZ toolkit. 00002 * Copyright (C) 1995-2010 Index Data. 00003 * All rights reserved. 00004 * Redistribution and use in source and binary forms, with or without 00005 * modification, are permitted provided that the following conditions are met: 00006 * 00007 * * Redistributions of source code must retain the above copyright 00008 * notice, this list of conditions and the following disclaimer. 00009 * * Redistributions in binary form must reproduce the above copyright 00010 * notice, this list of conditions and the following disclaimer in the 00011 * documentation and/or other materials provided with the distribution. 00012 * * Neither the name of Index Data nor the names of its contributors 00013 * may be used to endorse or promote products derived from this 00014 * software without specific prior written permission. 00015 * 00016 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 00017 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00018 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00019 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 00020 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00021 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00022 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00023 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00024 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00025 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 */ 00027 00033 #ifndef YAZ_RETRIEVAL_H 00034 #define YAZ_RETRIEVAL_H 00035 00036 #include <stddef.h> 00037 #include <yaz/wrbuf.h> 00038 #include <yaz/yconfig.h> 00039 #include <yaz/oid_util.h> 00040 #include <yaz/record_conv.h> 00041 00042 YAZ_BEGIN_CDECL 00043 00045 typedef struct yaz_retrieval_struct *yaz_retrieval_t; 00046 00050 YAZ_EXPORT yaz_retrieval_t yaz_retrieval_create(void); 00051 00055 YAZ_EXPORT void yaz_retrieval_destroy(yaz_retrieval_t p); 00056 00057 #if YAZ_HAVE_XML2 00058 00088 YAZ_EXPORT 00089 int yaz_retrieval_configure(yaz_retrieval_t p, const xmlNode *node); 00090 #endif 00091 00107 YAZ_EXPORT 00108 int yaz_retrieval_request(yaz_retrieval_t p, 00109 const char *schema, Odr_oid *syntax, 00110 const char **match_schema, Odr_oid **match_syntax, 00111 yaz_record_conv_t *rc, 00112 const char **backend_schema, 00113 Odr_oid **backend_syntax); 00114 00119 YAZ_EXPORT 00120 const char *yaz_retrieval_get_error(yaz_retrieval_t p); 00121 00122 00127 YAZ_EXPORT 00128 void yaz_retrieval_set_path(yaz_retrieval_t p, const char *path); 00129 00130 YAZ_END_CDECL 00131 00132 #endif 00133 /* 00134 * Local variables: 00135 * c-basic-offset: 4 00136 * c-file-style: "Stroustrup" 00137 * indent-tabs-mode: nil 00138 * End: 00139 * vim: shiftwidth=4 tabstop=8 expandtab 00140 */ 00141
1.6.3