Use LDADD for extra libs rather than AM_LDFLAGS.
[metaproxy-moved-to-github.git] / src / sru_util.hpp
index da8598d..3320001 100644 (file)
@@ -1,7 +1,22 @@
-/* $Id: sru_util.hpp,v 1.4 2006-12-28 13:26:06 marc Exp $
--   Copyright (c) 2005-2006, Index Data.
+/* $Id: sru_util.hpp,v 1.9 2007-05-09 21:23:09 adam Exp $
+   Copyright (c) 2005-2007, Index Data.
 
-   See the LICENSE file for details
+This file is part of Metaproxy.
+
+Metaproxy 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
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+Metaproxy is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Metaproxy; see the file LICENSE.  If not, write to the
+Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
  */
 
 #ifndef YP2_SDU_UTIL_HPP
@@ -27,6 +42,8 @@ namespace std
 namespace metaproxy_1 {
     namespace util  {
 
+        class SRUServerInfo;
+
         // std::string sru_protocol(const Z_HTTP_Request &http_req);
         // std::string debug_http(const Z_HTTP_Request &http_req);
         // void http_response(mp::Package &package, 
@@ -35,10 +52,22 @@ namespace metaproxy_1 {
 
         bool build_sru_debug_package(metaproxy_1::Package &package);
 
-        bool build_simple_explain(metaproxy_1::Package &package, 
-                                  metaproxy_1::odr &odr_en,
-                                  Z_SRW_PDU *sru_pdu_res,
-                                  Z_SRW_explainRequest const *er_req);
+        SRUServerInfo get_sru_server_info(metaproxy_1::Package &package);
+                                          // Z_SRW_explainRequest 
+                                          //const *er_req);
+        
+//         bool build_simple_explain(metaproxy_1::Package &package, 
+//                                   metaproxy_1::odr &odr_en,
+//                                   Z_SRW_PDU *sru_pdu_res,
+//                                   SRUServerInfo sruinfo,
+//                                   Z_SRW_explainRequest const *er_req = 0);
+        
+        bool build_sru_explain(metaproxy_1::Package &package, 
+                               metaproxy_1::odr &odr_en,
+                               Z_SRW_PDU *sru_pdu_res,
+                               SRUServerInfo sruinfo,
+                               const xmlNode *explain = 0,
+                               Z_SRW_explainRequest const *er_req = 0);
         
         bool build_sru_response(metaproxy_1::Package &package, 
                                 metaproxy_1::odr &odr_en,
@@ -51,7 +80,7 @@ namespace metaproxy_1 {
                                        metaproxy_1::odr &odr_de,
                                        metaproxy_1::odr &odr_en,
                                        Z_SRW_PDU *sru_pdu_res,
-                                       Z_SOAP *&soap,
+                                       Z_SOAP **soap,
                                        char *charset,
                                        char *stylesheet);
 
@@ -63,6 +92,20 @@ namespace metaproxy_1 {
         
         Z_ElementSetNames * build_esn_from_schema(metaproxy_1::odr &odr_en, 
                                                   const char *schema);
+
+        class SRUServerInfo
+        {
+        public:
+            SRUServerInfo ()
+                : database("Default")
+                {}
+        public:
+            std::string database;
+            std::string host;
+            std::string port;
+        };
+        
+        
         
 
 //         class SRU