Public MP headers in include/metaproxy
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 11 Jan 2010 10:20:30 +0000 (11:20 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 11 Jan 2010 10:20:30 +0000 (11:20 +0100)
94 files changed:
Makefile.am
configure.ac
include/Makefile.am [new file with mode: 0644]
include/metaproxy/Makefile.am [new file with mode: 0644]
include/metaproxy/filter.hpp [new file with mode: 0644]
include/metaproxy/origin.hpp [new file with mode: 0644]
include/metaproxy/package.hpp [new file with mode: 0644]
include/metaproxy/router.hpp [new file with mode: 0644]
include/metaproxy/session.hpp [new file with mode: 0644]
include/metaproxy/util.hpp [new file with mode: 0644]
include/metaproxy/xmlutil.hpp [new file with mode: 0644]
src/Makefile.am
src/ex_filter_frontend_net.cpp
src/ex_router_flexml.cpp
src/factory_filter.hpp
src/factory_static.cpp
src/filter.cpp
src/filter.hpp [deleted file]
src/filter_auth_simple.cpp
src/filter_auth_simple.hpp
src/filter_backend_test.cpp
src/filter_backend_test.hpp
src/filter_bounce.cpp
src/filter_bounce.hpp
src/filter_cql_to_rpn.cpp
src/filter_cql_to_rpn.hpp
src/filter_dl.cpp
src/filter_frontend_net.cpp
src/filter_frontend_net.hpp
src/filter_http_file.cpp
src/filter_http_file.hpp
src/filter_limit.cpp
src/filter_limit.hpp
src/filter_load_balance.cpp
src/filter_load_balance.hpp
src/filter_log.cpp
src/filter_log.hpp
src/filter_multi.cpp
src/filter_multi.hpp
src/filter_query_rewrite.cpp
src/filter_query_rewrite.hpp
src/filter_record_transform.cpp
src/filter_record_transform.hpp
src/filter_session_shared.cpp
src/filter_session_shared.hpp
src/filter_sru_to_z3950.cpp
src/filter_sru_to_z3950.hpp
src/filter_template.cpp
src/filter_template.hpp
src/filter_virt_db.cpp
src/filter_virt_db.hpp
src/filter_z3950_client.cpp
src/filter_z3950_client.hpp
src/filter_zeerex_explain.cpp
src/filter_zeerex_explain.hpp
src/gduutil.cpp
src/metaproxy_prog.cpp
src/origin.cpp
src/origin.hpp [deleted file]
src/package.cpp
src/package.hpp [deleted file]
src/plainfile.cpp
src/router.hpp [deleted file]
src/router_chain.hpp
src/router_flexml.cpp
src/router_flexml.hpp
src/session.cpp
src/session.hpp [deleted file]
src/sru_util.cpp
src/sru_util.hpp
src/test_filter1.cpp
src/test_filter2.cpp
src/test_filter_auth_simple.cpp
src/test_filter_backend_test.cpp
src/test_filter_bounce.cpp
src/test_filter_factory.cpp
src/test_filter_frontend_net.cpp
src/test_filter_log.cpp
src/test_filter_multi.cpp
src/test_filter_query_rewrite.cpp
src/test_filter_record_transform.cpp
src/test_filter_sru_to_z3950.cpp
src/test_filter_virt_db.cpp
src/test_filter_z3950_client.cpp
src/test_package1.cpp
src/test_pipe.cpp
src/test_router_flexml.cpp
src/test_ses_map.cpp
src/test_session1.cpp
src/test_session2.cpp
src/util.cpp
src/util.hpp [deleted file]
src/xmlutil.cpp
src/xmlutil.hpp [deleted file]

index 21d1d4c..f9ab81a 100644 (file)
@@ -1,7 +1,7 @@
 ## This file is part of Metaproxy
 ## Copyright (C) 2005-2010 Index Data
 
-SUBDIRS = xml src etc doc
+SUBDIRS = xml include src etc doc
 
 ACLOCAL_AMFLAGS = -I m4
 
index 10887dc..be73fbc 100644 (file)
@@ -56,6 +56,7 @@ AC_CHECK_HEADERS([sys/select.h sys/socket.h])
 AC_CONFIG_FILES([
         Doxyfile
        Makefile
+       include/Makefile include/metaproxy/Makefile
        src/Makefile
        xml/Makefile
        xml/schema/Makefile
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644 (file)
index 0000000..6256287
--- /dev/null
@@ -0,0 +1,5 @@
+## This file is part of Metaproxy
+## Copyright (C) 2005-2010 Index Data
+
+SUBDIRS = metaproxy
+
diff --git a/include/metaproxy/Makefile.am b/include/metaproxy/Makefile.am
new file mode 100644 (file)
index 0000000..bd00e30
--- /dev/null
@@ -0,0 +1,6 @@
+## This file is part of Metaproxy
+## Copyright (C) 2005-2010 Index Data
+
+pkginclude_HEADERS= filter.hpp origin.hpp package.hpp \
+       router.hpp session.hpp util.hpp xmlutil.hpp
+
diff --git a/include/metaproxy/filter.hpp b/include/metaproxy/filter.hpp
new file mode 100644 (file)
index 0000000..691eda4
--- /dev/null
@@ -0,0 +1,67 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef FILTER_HPP
+#define FILTER_HPP
+
+#include <string>
+#include <stdexcept>
+#include <libxml/tree.h>
+#include "xmlutil.hpp"
+
+namespace metaproxy_1 {
+
+    class Package;
+
+    namespace filter {
+        class Base {
+        public:
+            virtual ~Base(){};
+            
+            ///sends Package off to next Filter, returns altered Package
+            virtual void process(Package & package) const = 0;
+
+            /// configuration during filter load 
+            virtual void configure(const xmlNode * ptr, bool test_only);
+        };
+
+        class FilterException : public std::runtime_error {
+        public:
+            FilterException(const std::string message)
+                : std::runtime_error("FilterException: " + message){
+            };
+        };
+    }
+}
+
+struct metaproxy_1_filter_struct {
+    int ver;
+    const char *type;
+    metaproxy_1::filter::Base* (*creator)();
+};
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/origin.hpp b/include/metaproxy/origin.hpp
new file mode 100644 (file)
index 0000000..29d1124
--- /dev/null
@@ -0,0 +1,91 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef YP2_ORIGIN_HPP
+#define YP2_ORIGIN_HPP
+
+#include <iosfwd>
+#include <string>
+
+namespace metaproxy_1 {
+    class Origin;
+}
+
+namespace std {
+    std::ostream& operator<<(std::ostream& os, metaproxy_1::Origin& o);
+}
+
+namespace metaproxy_1 {
+    
+    class Origin {
+    public:
+        Origin(std::string listen_host = "", unsigned int listen_port = 0);
+        
+        /// get function - right val in assignment
+        std::string listen_host() const;
+
+        /// set function - left val in assignment
+        std::string & listen_host();
+        /// get function - right val in assignment
+        unsigned int listen_port() const;
+        
+        /// set function - left val in assignment
+        unsigned int & listen_port();
+        /// set client IP info - left val in assignment
+        void set_tcpip_address(std::string addr, unsigned long id);
+
+        /// set max sockets (for outgoing connections to a given target)
+        void set_max_sockets(int max_sockets);
+
+        /// set max sockets (for outgoing connections to a given target)
+        int get_max_sockets();
+        
+        /// get tcpip address
+        std::string get_address();
+    private:
+        friend std::ostream& 
+        std::operator<<(std::ostream& os,  metaproxy_1::Origin& o);
+        
+        enum origin_t {
+            API,
+            UNIX,
+            TCPIP
+        } m_type;
+        std::string m_address; // UNIX+TCPIP
+        unsigned int m_origin_id;
+        std::string m_listen_host;
+        unsigned int m_listen_port;
+        int m_max_sockets;
+    };
+
+}
+
+
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/package.hpp b/include/metaproxy/package.hpp
new file mode 100644 (file)
index 0000000..69fbcb7
--- /dev/null
@@ -0,0 +1,107 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef YP2_PACKAGE_HPP
+#define YP2_PACKAGE_HPP
+
+#include <iosfwd>
+
+#include <yazpp/gdu.h>
+
+#include "router.hpp"
+#include "filter.hpp"
+#include "session.hpp"
+#include "origin.hpp"
+
+namespace metaproxy_1 {
+    class Package;
+}
+
+
+namespace std 
+{
+    std::ostream& operator<<(std::ostream& os, metaproxy_1::Package& p);
+}
+
+namespace metaproxy_1 {
+
+    class Package {
+    public:
+        Package();
+
+        ~Package();
+        
+        Package(metaproxy_1::Session &session, 
+                const metaproxy_1::Origin &origin);
+
+        /// shallow copy constructor which only copies the filter chain info
+        Package & copy_filter(const Package &p);
+
+        /// send Package to it's next Filter defined in Router
+        void move();
+
+        /// send Package to other route
+        void move(std::string route);
+        
+        /// access session - left val in assignment
+        metaproxy_1::Session & session();
+        
+        /// get function - right val in assignment
+        Origin origin() const;
+        
+        /// set function - left val in assignment
+        Origin & origin();
+        
+        /// set function - can be chained
+        Package & origin(const Origin & origin);
+
+        /// set function - can be chained
+        Package & router(const Router &router);
+
+        yazpp_1::GDU &request();
+
+        yazpp_1::GDU &response();
+                
+        /// get function - right val in assignment
+        Session session() const;
+        
+    private:
+        Session m_session;
+        Origin m_origin;
+
+        RoutePos *m_route_pos;
+
+        //int m_data;
+        
+        yazpp_1::GDU m_request_gdu;
+        yazpp_1::GDU m_response_gdu;
+    };
+}
+
+
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/router.hpp b/include/metaproxy/router.hpp
new file mode 100644 (file)
index 0000000..392f048
--- /dev/null
@@ -0,0 +1,63 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef ROUTER_HPP
+#define ROUTER_HPP
+
+#include <boost/noncopyable.hpp>
+#include <string>
+#include <stdexcept>
+
+namespace metaproxy_1 
+{
+    namespace filter {
+        class Base;
+    }
+    class RoutePos;
+    
+    class RouterException : public std::runtime_error {
+    public:
+        RouterException(const std::string message)
+            : std::runtime_error("RouterException: " + message){};
+    };
+      
+    class Router : boost::noncopyable {
+    public:
+        Router(){};
+        virtual ~Router(){};
+
+        virtual RoutePos *createpos() const = 0;
+    };
+
+    class RoutePos : boost::noncopyable {
+    public:
+        virtual const filter::Base *move(const char *route) = 0;
+        virtual RoutePos *clone() = 0;
+        virtual ~RoutePos() {};
+    };
+}
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/session.hpp b/include/metaproxy/session.hpp
new file mode 100644 (file)
index 0000000..124a8c1
--- /dev/null
@@ -0,0 +1,148 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef SESSION_HPP
+#define SESSION_HPP
+
+//#include <stdexcept>
+#include <map>
+#include <boost/thread/mutex.hpp>
+
+namespace metaproxy_1 {
+    
+    class Session
+    {
+        //typedef unsigned long type;
+    public:
+        
+        /// create new session with new unique id
+        Session() {
+            boost::mutex::scoped_lock scoped_lock(m_mutex);
+            ++m_global_id;
+            m_id =  m_global_id;
+            m_close = false;
+        }
+        
+        /// copy session including old id
+        Session(const Session &s) : m_id(s.m_id), m_close(s.m_close) {};
+        
+        Session& operator=(const Session &s) { 
+            if (this != &s)
+            {
+                m_id = s.m_id;
+                m_close = s.m_close;
+            }
+            return *this;
+        }
+
+        bool operator<(const Session &s) const {
+            return m_id < s.m_id ? true : false;
+        }
+        
+        unsigned long id() const {
+            return m_id;
+        }
+        
+        bool is_closed() const {
+            return m_close;
+        }
+        
+        /// mark session closed, can not be unset
+        void close() {
+            m_close = true;
+        }
+
+        bool operator == (Session &ses) const {
+            return ses.m_id == m_id;
+        }
+        
+    private:
+        
+        unsigned long int m_id;
+        bool m_close;
+        
+        /// static mutex to lock static m_id
+        static boost::mutex m_mutex;
+        
+        /// static m_id to make sure that there is only one id counter
+        static unsigned long int m_global_id;
+        
+    };
+
+    template <class T> class session_map {
+    public:
+        void create(T &t, const metaproxy_1::Session &s) { 
+            boost::mutex::scoped_lock lock(m_map_mutex);
+            m_map[s] = SessionItem(t);
+        };
+        void release(const metaproxy_1::Session &s) {
+            boost::mutex::scoped_lock lock(m_map_mutex);
+
+            m_map.erase(s);
+        };
+#if 0
+        T &get_session_data(const metaproxy_1::Session &s) {
+            boost::mutex::scoped_lock lock(m_map_mutex);
+
+            typename std::map<metaproxy_1::Session,SessionItem>::const_iterator it;
+            it = m_map.find(s);
+            if (it == m_map.end())
+                return 0;
+            boost::mutx::scoped_lock *scoped_ptr =
+                new boost::mutex::scoped_lock(it->second->m_item_mutex);
+        };
+#endif
+        bool exist(const metaproxy_1::Session &s) {
+            typename std::map<metaproxy_1::Session,SessionItem>::const_iterator it;
+            it = m_map.find(s);
+            return it == m_map.end() ? false : true;
+        }
+    private:
+        class SessionItem {
+        public:
+            SessionItem() {};
+            SessionItem(T &t) : m_t(t) {};
+            SessionItem &operator =(const SessionItem &s) {
+                if (this != &s) {
+                    m_t = s.m_t;
+                }
+                return *this;
+            };
+            SessionItem(const SessionItem &s) {
+                m_t = s.m_t;
+            };
+            T m_t;
+            boost::mutex m_item_mutex;
+        };
+    private:
+        boost::mutex m_map_mutex;
+        std::map<metaproxy_1::Session,SessionItem>m_map;
+    };
+    
+}
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/util.hpp b/include/metaproxy/util.hpp
new file mode 100644 (file)
index 0000000..810afbd
--- /dev/null
@@ -0,0 +1,158 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef YP2_UTIL_HPP
+#define YP2_UTIL_HPP
+
+#include "package.hpp"
+
+#include <yaz/z-core.h>
+
+#include <boost/utility.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#include <list>
+#include <vector>
+#include <sstream>
+#include <string>
+
+
+namespace metaproxy_1 {
+    namespace util  {
+
+        
+        template<typename T> 
+        std::string to_string(const T& t)
+        {
+            std::ostringstream o;
+            if(o << t)
+                return o.str();    
+            return std::string();
+        };
+
+        const char * 
+        record_composition_to_esn(Z_RecordComposition *comp);
+
+        std::string http_header_value(const Z_HTTP_Header* header, 
+                                               const std::string name);
+
+        std::string http_headers_debug(const Z_HTTP_Request &http_req);        
+
+        void http_response(metaproxy_1::Package &package, 
+                           const std::string &content, 
+                           int http_code = 200);
+
+
+        int memcmp2(const void *buf1, int len1, const void *buf2, int len2);
+
+        std::string database_name_normalize(const std::string &s);
+
+       bool pqf(ODR odr, Z_APDU *apdu, const std::string &q);
+
+        std::string zQueryToString(Z_Query *query);
+
+        Z_ReferenceId **get_referenceId(const Z_APDU *apdu);
+
+        void transfer_referenceId(ODR odr, const Z_APDU *src, Z_APDU *dst);
+
+        Z_APDU *create_APDU(ODR odr, int type, const Z_APDU *in_apdu);
+
+        bool set_databases_from_zurl(ODR odr, std::string zurl,
+                                     int *db_num, char ***db_strings);
+
+        void split_zurl(std::string zurl, std::string &host,
+                        std::list<std::string> &db);
+        
+        void get_vhost_otherinfo(Z_OtherInformation *otherInformation,
+                                 std::list<std::string> &vhosts);
+        
+        int remove_vhost_otherinfo(Z_OtherInformation **otherInformation,
+                                   std::list<std::string> &vhosts);
+
+        void set_vhost_otherinfo(Z_OtherInformation **otherInformation, 
+                                 ODR odr,
+                                 const std::string vhost, 
+                                 const int cat);
+
+        void set_vhost_otherinfo(Z_OtherInformation **otherInformation,
+                                 ODR odr,
+                                 const std::list<std::string> &vhosts);
+
+        int get_or_remove_vhost_otherinfo(
+            Z_OtherInformation **otherInformation,
+            bool remove_flag,
+            std::list<std::string> &vhosts);
+
+        void get_init_diagnostics(Z_InitResponse *res,
+                                  int &error_code, std::string &addinfo);
+
+        void get_default_diag(Z_DefaultDiagFormat *r,
+                              int &error_code, std::string &addinfo);
+
+        void piggyback(int smallSetUpperBound,
+                       int largeSetLowerBound,
+                       int mediumSetPresentNumber,
+                       int result_set_size,
+                       int &number_to_present);
+
+    };
+
+    class odr : public boost::noncopyable {
+    public:
+        odr(int type);
+        odr();
+        ~odr();
+        operator ODR() const;
+        Z_APDU *create_close(const Z_APDU *in_apdu, 
+                             int reason, const char *addinfo);
+        Z_APDU *create_initResponse(const Z_APDU *in_apdu, 
+                                    int error, const char *addinfo);
+        Z_APDU *create_searchResponse(const Z_APDU *in_apdu,
+                                      int error, const char *addinfo);
+        Z_APDU *create_presentResponse(const Z_APDU *in_apdu,
+                                       int error, const char *addinfo);
+        Z_APDU *create_scanResponse(const Z_APDU *in_apdu,
+                                    int error, const char *addinfo);
+        Z_APDU *create_APDU(int type, const Z_APDU *in_apdu);
+
+        Z_GDU *create_HTTP_Response(metaproxy_1::Session &session,
+                                    Z_HTTP_Request *req, int code);
+    private:
+        ODR m_odr;
+    };
+
+    class PlainFile {
+        class Rep;
+        boost::scoped_ptr<Rep> m_p;
+    public:
+        PlainFile();
+        ~PlainFile();
+        bool open(const std::string &fname);
+        bool getline(std::vector<std::string> &args);
+    };
+}
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
diff --git a/include/metaproxy/xmlutil.hpp b/include/metaproxy/xmlutil.hpp
new file mode 100644 (file)
index 0000000..5377bb4
--- /dev/null
@@ -0,0 +1,71 @@
+/* This file is part of Metaproxy.
+   Copyright (C) 2005-2010 Index Data
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+#ifndef XML_UTIL_HPP
+#define XML_UTIL_HPP
+
+#include <string>
+#include <stdexcept>
+#include <libxml/tree.h>
+
+namespace metaproxy_1 {
+    namespace xml {
+        std::string get_text(const struct _xmlAttr *ptr);
+        std::string get_text(const xmlNode *ptr);
+        bool get_bool(const xmlNode *ptr, bool default_value);
+        int get_int(const xmlNode *ptr, int default_value);
+        bool check_attribute(const _xmlAttr *ptr, 
+                        const std::string &ns,
+                        const std::string &name);
+        bool is_attribute(const _xmlAttr *ptr, 
+                        const std::string &ns,
+                        const std::string &name);
+        bool is_element(const xmlNode *ptr, 
+                        const std::string &ns,
+                        const std::string &name);
+        bool is_element_mp(const xmlNode *ptr, const std::string &name);
+        bool check_element_mp(const xmlNode *ptr, 
+                               const std::string &name);
+        std::string get_route(const xmlNode *node);
+
+        const xmlNode* jump_to(const xmlNode* node, int node_type);
+
+        const xmlNode* jump_to_next(const xmlNode* node, int node_type);
+        
+        const xmlNode* jump_to_children(const xmlNode* node, int node_type);
+
+        void check_empty(const xmlNode *node);
+
+    }
+    class XMLError : public std::runtime_error {
+    public:
+        XMLError(const std::string msg) :
+            std::runtime_error("XMLError : " + msg) {} ;
+    };
+}
+
+#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
index 9dbd951..2940fd6 100644 (file)
@@ -5,6 +5,8 @@ MAINTAINERCLEANFILES = Makefile.in config.in config.hpp
 
 AM_CXXFLAGS = $(BOOST_CPPFLAGS)
 
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
 AM_LDFLAGS =
 
 # Rules for the library..
@@ -15,7 +17,7 @@ libmetaproxy_la_LDFLAGS = -version-info 1:0:0 -export-dynamic
 libmetaproxy_la_SOURCES = \
        factory_filter.cpp factory_filter.hpp \
        factory_static.cpp factory_static.hpp \
-       filter.hpp filter.cpp \
+       filter.cpp \
        filter_auth_simple.cpp filter_auth_simple.hpp \
        filter_backend_test.cpp filter_backend_test.hpp \
        filter_bounce.cpp filter_bounce.hpp \
@@ -35,17 +37,17 @@ libmetaproxy_la_SOURCES = \
        filter_z3950_client.cpp filter_z3950_client.hpp \
        filter_zeerex_explain.cpp  filter_zeerex_explain.hpp \
        gduutil.cpp gduutil.hpp \
-       origin.cpp origin.hpp \
-       package.cpp package.hpp \
+       origin.cpp \
+       package.cpp \
        pipe.cpp pipe.hpp \
        plainfile.cpp \
-       router.hpp router_chain.hpp router_chain.cpp \
+       router_chain.hpp router_chain.cpp \
         router_flexml.hpp router_flexml.cpp \
-       session.cpp session.hpp \
+       session.cpp \
        sru_util.cpp sru_util.hpp \
        thread_pool_observer.cpp thread_pool_observer.hpp \
-       util.cpp util.hpp \
-       xmlutil.cpp xmlutil.hpp
+       util.cpp \
+       xmlutil.cpp 
 
 
 libmetaproxy_la_LIBADD = $(YAZPPLALIB) $(BOOST_LIB) $(BOOST_THREAD_LIB)
index dcfee46..bdf538d 100644 (file)
@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include <yaz/options.h>
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_frontend_net.hpp"
 #include "filter_z3950_client.hpp"
 #include "filter_virt_db.hpp"
@@ -31,8 +31,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include "filter_log.hpp"
 
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 namespace mp = metaproxy_1;
 
index f19b28d..e068e1e 100644 (file)
@@ -23,8 +23,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 #include "router_flexml.hpp"
 #include "factory_static.hpp"
 
index 33719bb..8f02939 100644 (file)
@@ -27,7 +27,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/noncopyable.hpp>
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     class FactoryFilter : public boost::noncopyable
index 95f62ec..0101819 100644 (file)
@@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include "factory_static.hpp"
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 #include "factory_filter.hpp"
 
index 8537d71..430cbbb 100644 (file)
@@ -19,7 +19,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "config.hpp"
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace mp = metaproxy_1;
 
diff --git a/src/filter.hpp b/src/filter.hpp
deleted file mode 100644 (file)
index 691eda4..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef FILTER_HPP
-#define FILTER_HPP
-
-#include <string>
-#include <stdexcept>
-#include <libxml/tree.h>
-#include "xmlutil.hpp"
-
-namespace metaproxy_1 {
-
-    class Package;
-
-    namespace filter {
-        class Base {
-        public:
-            virtual ~Base(){};
-            
-            ///sends Package off to next Filter, returns altered Package
-            virtual void process(Package & package) const = 0;
-
-            /// configuration during filter load 
-            virtual void configure(const xmlNode * ptr, bool test_only);
-        };
-
-        class FilterException : public std::runtime_error {
-        public:
-            FilterException(const std::string message)
-                : std::runtime_error("FilterException: " + message){
-            };
-        };
-    }
-}
-
-struct metaproxy_1_filter_struct {
-    int ver;
-    const char *type;
-    metaproxy_1::filter::Base* (*creator)();
-};
-
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index 549085e..9dbb511 100644 (file)
@@ -18,13 +18,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 #include <boost/thread/mutex.hpp>
 #include <boost/algorithm/string.hpp>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_auth_simple.hpp"
 
 #include <yaz/zgdu.h>
index 36a8d0b..9acf1b8 100644 (file)
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 9b569ac..d14bee2 100644 (file)
@@ -18,9 +18,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "filter_backend_test.hpp"
 
 #include <stdexcept>
index c355d2d..b067fa5 100644 (file)
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 56cdb6d..9675190 100644 (file)
@@ -17,8 +17,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "filter_bounce.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "gduutil.hpp"
 
 #include <yaz/zgdu.h>
index f3fd4d0..5eb8e98 100644 (file)
@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index d742024..c1a7057 100644 (file)
@@ -17,10 +17,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 #include "filter_cql_to_rpn.hpp"
 
index 233b3e4..354d6a7 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/scoped_ptr.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 8a8db8f..a9ce43a 100644 (file)
@@ -18,8 +18,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 namespace mp = metaproxy_1;
 
index fb81c76..04322af 100644 (file)
@@ -18,10 +18,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "pipe.hpp"
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 #include "thread_pool_observer.hpp"
 #include "filter_frontend_net.hpp"
 #include <yazpp/z-assoc.h>
index ade014d..f7720c9 100644 (file)
@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 #include <vector>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index c3014b0..f9dfb42 100644 (file)
@@ -17,9 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "filter_http_file.hpp"
 
 #include <yaz/zgdu.h>
index 21e7909..94ddb26 100644 (file)
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index b97d3f0..2b58fa6 100644 (file)
@@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <time.h>
 #include <yaz/log.h>
 #include <yazpp/timestat.h>
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 
 namespace mp = metaproxy_1;
 namespace yf = mp::filter;
index fd5528a..e808396 100644 (file)
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index dc80b83..66fbfa2 100644 (file)
@@ -17,11 +17,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "session.hpp"
-#include "package.hpp"
-#include "filter.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/filter.hpp>
 #include "filter_load_balance.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
 
 #include <boost/thread/mutex.hpp>
index e0dc5ec..d6166a1 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 8e94bff..13957ce 100644 (file)
@@ -16,9 +16,9 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#include "filter_log.hpp"
 #include "config.hpp"
-#include "package.hpp"
+#include "filter_log.hpp"
+#include <metaproxy/package.hpp>
 
 #include <string>
 #include <sstream>
@@ -26,8 +26,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/thread/mutex.hpp>
 
 #include "gduutil.hpp"
-#include "util.hpp"
-#include "xmlutil.hpp"
+#include <metaproxy/util.hpp>
+#include <metaproxy/xmlutil.hpp>
 
 #include <yaz/zgdu.h>
 #include <yaz/wrbuf.h>
index 6c736b3..9ac2b70 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/scoped_ptr.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 0072e94..61d001c 100644 (file)
@@ -20,15 +20,15 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 #include <boost/thread/thread.hpp>
 #include <boost/thread/mutex.hpp>
 #include <boost/thread/condition.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_multi.hpp"
 
 #include <yaz/zgdu.h>
index 7e85e3d..29c9c61 100644 (file)
@@ -25,7 +25,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/scoped_ptr.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 254a33c..9d4ac37 100644 (file)
@@ -17,11 +17,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
-#include "util.hpp"
-#include "xmlutil.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_query_rewrite.hpp"
 
 #include <yaz/zgdu.h>
index 776a755..f954e6b 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index cf7af72..70c8d6c 100644 (file)
@@ -17,19 +17,15 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "filter.hpp"
 #include "filter_record_transform.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "gduutil.hpp"
-#include "xmlutil.hpp"
 
 #include <yaz/diagbib1.h>
 #include <yaz/zgdu.h>
 #include <yaz/retrieval.h>
 
-//#include <boost/thread/mutex.hpp>
-
 #include <iostream>
 
 namespace mp = metaproxy_1;
index 72667e3..c28cb4e 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index ab518aa..d36fabb 100644 (file)
@@ -18,8 +18,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 
 #include <boost/thread/mutex.hpp>
 #include <boost/thread/condition.hpp>
@@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/shared_ptr.hpp>
 #include <boost/format.hpp>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_session_shared.hpp"
 
 #include <yaz/log.h>
index c186b9c..de65d29 100644 (file)
@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <list>
 #include <map>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index c283aa7..96c820b 100644 (file)
@@ -20,9 +20,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #define NOMINMAX 1
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "gduutil.hpp"
 #include "sru_util.hpp"
 #include "filter_sru_to_z3950.hpp"
index 27fb110..815182b 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 01c9d75..807e101 100644 (file)
@@ -17,10 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "filter.hpp"
 #include "filter_template.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 
 #include <boost/thread/mutex.hpp>
 
index 8609b58..79a389f 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 55cb6df..56ba946 100644 (file)
@@ -18,15 +18,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
+#include "filter_virt_db.hpp"
+#include <metaproxy/package.hpp>
 
 #include <boost/thread/mutex.hpp>
 #include <boost/thread/condition.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "util.hpp"
-#include "filter_virt_db.hpp"
+#include <metaproxy/util.hpp>
 
 #include <yaz/zgdu.h>
 #include <yaz/otherinfo.h>
index 03967f6..3a69d17 100644 (file)
@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <boost/scoped_ptr.hpp>
 #include <boost/shared_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 4322bda..601af44 100644 (file)
@@ -18,10 +18,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 
-#include "filter.hpp"
-#include "package.hpp"
-#include "util.hpp"
 #include "filter_z3950_client.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 
 #include <map>
 #include <stdexcept>
index 669674c..aaf634e 100644 (file)
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index a696292..fc434e2 100644 (file)
@@ -17,12 +17,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
-#include "util.hpp"
+#include "filter_zeerex_explain.hpp"
+#include <metaproxy/package.hpp>
+#include <metaproxy/util.hpp>
 #include "gduutil.hpp"
 #include "sru_util.hpp"
-#include "filter_zeerex_explain.hpp"
 
 #include <yaz/zgdu.h>
 #include <yaz/z-core.h>
index 0904312..61774e9 100644 (file)
@@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <boost/scoped_ptr.hpp>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 namespace metaproxy_1 {
     namespace filter {
index 0eca0c8..50e5bd0 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "gduutil.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
 #include <yaz/wrbuf.h>
 #include <yaz/oid_db.h>
index 0aa04f4..9f144b7 100644 (file)
@@ -27,8 +27,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 #include <libxml/xinclude.h>
 
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 #include "router_flexml.hpp"
 #include "factory_static.hpp"
 
index d49ba1e..6168e1a 100644 (file)
@@ -16,8 +16,8 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-//#include "config.hpp"
-#include "origin.hpp"
+#include "config.hpp"
+#include <metaproxy/origin.hpp>
 
 #include <iostream>
 
diff --git a/src/origin.hpp b/src/origin.hpp
deleted file mode 100644 (file)
index 29d1124..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef YP2_ORIGIN_HPP
-#define YP2_ORIGIN_HPP
-
-#include <iosfwd>
-#include <string>
-
-namespace metaproxy_1 {
-    class Origin;
-}
-
-namespace std {
-    std::ostream& operator<<(std::ostream& os, metaproxy_1::Origin& o);
-}
-
-namespace metaproxy_1 {
-    
-    class Origin {
-    public:
-        Origin(std::string listen_host = "", unsigned int listen_port = 0);
-        
-        /// get function - right val in assignment
-        std::string listen_host() const;
-
-        /// set function - left val in assignment
-        std::string & listen_host();
-        /// get function - right val in assignment
-        unsigned int listen_port() const;
-        
-        /// set function - left val in assignment
-        unsigned int & listen_port();
-        /// set client IP info - left val in assignment
-        void set_tcpip_address(std::string addr, unsigned long id);
-
-        /// set max sockets (for outgoing connections to a given target)
-        void set_max_sockets(int max_sockets);
-
-        /// set max sockets (for outgoing connections to a given target)
-        int get_max_sockets();
-        
-        /// get tcpip address
-        std::string get_address();
-    private:
-        friend std::ostream& 
-        std::operator<<(std::ostream& os,  metaproxy_1::Origin& o);
-        
-        enum origin_t {
-            API,
-            UNIX,
-            TCPIP
-        } m_type;
-        std::string m_address; // UNIX+TCPIP
-        unsigned int m_origin_id;
-        std::string m_listen_host;
-        unsigned int m_listen_port;
-        int m_max_sockets;
-    };
-
-}
-
-
-
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index 3c65cdb..c628523 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <iostream>
 
diff --git a/src/package.hpp b/src/package.hpp
deleted file mode 100644 (file)
index 69fbcb7..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef YP2_PACKAGE_HPP
-#define YP2_PACKAGE_HPP
-
-#include <iosfwd>
-
-#include <yazpp/gdu.h>
-
-#include "router.hpp"
-#include "filter.hpp"
-#include "session.hpp"
-#include "origin.hpp"
-
-namespace metaproxy_1 {
-    class Package;
-}
-
-
-namespace std 
-{
-    std::ostream& operator<<(std::ostream& os, metaproxy_1::Package& p);
-}
-
-namespace metaproxy_1 {
-
-    class Package {
-    public:
-        Package();
-
-        ~Package();
-        
-        Package(metaproxy_1::Session &session, 
-                const metaproxy_1::Origin &origin);
-
-        /// shallow copy constructor which only copies the filter chain info
-        Package & copy_filter(const Package &p);
-
-        /// send Package to it's next Filter defined in Router
-        void move();
-
-        /// send Package to other route
-        void move(std::string route);
-        
-        /// access session - left val in assignment
-        metaproxy_1::Session & session();
-        
-        /// get function - right val in assignment
-        Origin origin() const;
-        
-        /// set function - left val in assignment
-        Origin & origin();
-        
-        /// set function - can be chained
-        Package & origin(const Origin & origin);
-
-        /// set function - can be chained
-        Package & router(const Router &router);
-
-        yazpp_1::GDU &request();
-
-        yazpp_1::GDU &response();
-                
-        /// get function - right val in assignment
-        Session session() const;
-        
-    private:
-        Session m_session;
-        Origin m_origin;
-
-        RoutePos *m_route_pos;
-
-        //int m_data;
-        
-        yazpp_1::GDU m_request_gdu;
-        yazpp_1::GDU m_response_gdu;
-    };
-}
-
-
-
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index 6ae38ae..fb87e2d 100644 (file)
@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <fstream>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
 #define PLAINFILE_MAX_LINE 256
 
diff --git a/src/router.hpp b/src/router.hpp
deleted file mode 100644 (file)
index 392f048..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef ROUTER_HPP
-#define ROUTER_HPP
-
-#include <boost/noncopyable.hpp>
-#include <string>
-#include <stdexcept>
-
-namespace metaproxy_1 
-{
-    namespace filter {
-        class Base;
-    }
-    class RoutePos;
-    
-    class RouterException : public std::runtime_error {
-    public:
-        RouterException(const std::string message)
-            : std::runtime_error("RouterException: " + message){};
-    };
-      
-    class Router : boost::noncopyable {
-    public:
-        Router(){};
-        virtual ~Router(){};
-
-        virtual RoutePos *createpos() const = 0;
-    };
-
-    class RoutePos : boost::noncopyable {
-    public:
-        virtual const filter::Base *move(const char *route) = 0;
-        virtual RoutePos *clone() = 0;
-        virtual ~RoutePos() {};
-    };
-}
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index 4b7cc0c..4924aca 100644 (file)
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #define ROUTER_CHAIN_HPP
 
 
-#include "router.hpp"
+#include <metaproxy/router.hpp>
 
 #include <boost/scoped_ptr.hpp>
 #include <stdexcept>
index 3375a33..8b30bef 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "xmlutil.hpp"
+#include <metaproxy/xmlutil.hpp>
 #include "router_flexml.hpp"
 #include "factory_filter.hpp"
 #include "factory_static.hpp"
index e2bd856..4dbbb2e 100644 (file)
@@ -19,7 +19,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #ifndef ROUTER_FLEXML_HPP
 #define ROUTER_FLEXML_HPP
 
-#include "router.hpp"
+#include <metaproxy/router.hpp>
 
 #include "factory_filter.hpp"
 
index 339f0da..b0df3af 100644 (file)
@@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <stdexcept>
 
-#include "session.hpp"
+#include <metaproxy/session.hpp>
 #include <boost/thread/mutex.hpp>
 
 #include "config.hpp"
diff --git a/src/session.hpp b/src/session.hpp
deleted file mode 100644 (file)
index 124a8c1..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef SESSION_HPP
-#define SESSION_HPP
-
-//#include <stdexcept>
-#include <map>
-#include <boost/thread/mutex.hpp>
-
-namespace metaproxy_1 {
-    
-    class Session
-    {
-        //typedef unsigned long type;
-    public:
-        
-        /// create new session with new unique id
-        Session() {
-            boost::mutex::scoped_lock scoped_lock(m_mutex);
-            ++m_global_id;
-            m_id =  m_global_id;
-            m_close = false;
-        }
-        
-        /// copy session including old id
-        Session(const Session &s) : m_id(s.m_id), m_close(s.m_close) {};
-        
-        Session& operator=(const Session &s) { 
-            if (this != &s)
-            {
-                m_id = s.m_id;
-                m_close = s.m_close;
-            }
-            return *this;
-        }
-
-        bool operator<(const Session &s) const {
-            return m_id < s.m_id ? true : false;
-        }
-        
-        unsigned long id() const {
-            return m_id;
-        }
-        
-        bool is_closed() const {
-            return m_close;
-        }
-        
-        /// mark session closed, can not be unset
-        void close() {
-            m_close = true;
-        }
-
-        bool operator == (Session &ses) const {
-            return ses.m_id == m_id;
-        }
-        
-    private:
-        
-        unsigned long int m_id;
-        bool m_close;
-        
-        /// static mutex to lock static m_id
-        static boost::mutex m_mutex;
-        
-        /// static m_id to make sure that there is only one id counter
-        static unsigned long int m_global_id;
-        
-    };
-
-    template <class T> class session_map {
-    public:
-        void create(T &t, const metaproxy_1::Session &s) { 
-            boost::mutex::scoped_lock lock(m_map_mutex);
-            m_map[s] = SessionItem(t);
-        };
-        void release(const metaproxy_1::Session &s) {
-            boost::mutex::scoped_lock lock(m_map_mutex);
-
-            m_map.erase(s);
-        };
-#if 0
-        T &get_session_data(const metaproxy_1::Session &s) {
-            boost::mutex::scoped_lock lock(m_map_mutex);
-
-            typename std::map<metaproxy_1::Session,SessionItem>::const_iterator it;
-            it = m_map.find(s);
-            if (it == m_map.end())
-                return 0;
-            boost::mutx::scoped_lock *scoped_ptr =
-                new boost::mutex::scoped_lock(it->second->m_item_mutex);
-        };
-#endif
-        bool exist(const metaproxy_1::Session &s) {
-            typename std::map<metaproxy_1::Session,SessionItem>::const_iterator it;
-            it = m_map.find(s);
-            return it == m_map.end() ? false : true;
-        }
-    private:
-        class SessionItem {
-        public:
-            SessionItem() {};
-            SessionItem(T &t) : m_t(t) {};
-            SessionItem &operator =(const SessionItem &s) {
-                if (this != &s) {
-                    m_t = s.m_t;
-                }
-                return *this;
-            };
-            SessionItem(const SessionItem &s) {
-                m_t = s.m_t;
-            };
-            T m_t;
-            boost::mutex m_item_mutex;
-        };
-    private:
-        boost::mutex m_map_mutex;
-        std::map<metaproxy_1::Session,SessionItem>m_map;
-    };
-    
-}
-
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index 5c2b257..1992f9f 100644 (file)
@@ -17,10 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "sru_util.hpp"
-#include "util.hpp"
-
-//#include <yaz/wrbuf.h>
-//#include <yaz/querytowrbuf.h>
+#include <metaproxy/util.hpp>
 
 #include <iostream>
 #include <string>
index de04fbc..715b845 100644 (file)
@@ -19,11 +19,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #ifndef YP2_SDU_UTIL_HPP
 #define YP2_SDU_UTIL_HPP
 
-#include "util.hpp"
-#include "package.hpp"
+#include <metaproxy/util.hpp>
+#include <metaproxy/package.hpp>
 
-//#include <yaz/zgdu.h>
-//#include <yaz/z-core.h>
 #include <yaz/srw.h>
 
 #include <iosfwd>
index b850e3b..4b14019 100644 (file)
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 42a0520..68f1e9b 100644 (file)
@@ -16,13 +16,14 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
+#include "config.hpp"
+
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 
-#include "config.hpp"
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 #include "router_chain.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <iostream>
 
index f3fccca..fc08997 100644 (file)
@@ -21,10 +21,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "filter_auth_simple.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index a18e69a..1eb796e 100644 (file)
@@ -20,13 +20,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_backend_test.hpp"
 #include "filter_log.hpp"
 
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <yaz/zgdu.h>
 #include <yaz/pquery.h>
index 5a1754a..1556c38 100644 (file)
@@ -18,12 +18,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 #include "filter_bounce.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "gduutil.hpp"
-//#include "sru_util.hpp"
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <iostream>
 #include <stdexcept>
index 4bb9fc7..e4f62d8 100644 (file)
@@ -20,8 +20,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "config.hpp"
-#include "filter.hpp"
-#include "package.hpp"
+#include <metaproxy/filter.hpp>
+#include <metaproxy/package.hpp>
 #include "factory_filter.hpp"
 
 
index 524e3c9..727e4b7 100644 (file)
@@ -20,12 +20,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_frontend_net.hpp"
 
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 9c33b1e..9b2626c 100644 (file)
@@ -21,10 +21,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "filter_log.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index c429f2a..e0a6f50 100644 (file)
@@ -21,10 +21,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "filter_multi.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 1d2d5f8..7567a21 100644 (file)
@@ -21,10 +21,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "filter_query_rewrite.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 3ca3f5f..5fb1040 100644 (file)
@@ -18,14 +18,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 #include "filter_record_transform.hpp"
-//#include "util.hpp"
-//#include "sru_util.hpp"
-#include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
 
-//#include <iostream>
-//#include <stdexcept>
+#include "router_chain.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 75248ca..dec6f98 100644 (file)
@@ -18,11 +18,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include "config.hpp"
 #include "filter_sru_to_z3950.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "sru_util.hpp"
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <iostream>
 #include <stdexcept>
index 9273b1f..ed00ff5 100644 (file)
@@ -20,14 +20,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "filter_virt_db.hpp"
 #include "filter_backend_test.hpp"
 #include "filter_log.hpp"
 
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 2c8f5dd..04c3a70 100644 (file)
@@ -21,11 +21,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdexcept>
 
 #include "filter_z3950_client.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
 #include "router_chain.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 4550d1f..b98d547 100644 (file)
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #define BOOST_AUTO_TEST_MAIN
 #define BOOST_TEST_DYN_LINK
index 7536715..3420483 100644 (file)
@@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 #include "pipe.hpp"
 
 #define BOOST_AUTO_TEST_MAIN
index c39f5db..f656278 100644 (file)
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "filter.hpp"
+#include <metaproxy/filter.hpp>
 #include "router_flexml.hpp"
 #include "factory_static.hpp"
 
index 121e756..47b9865 100644 (file)
@@ -20,9 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <iostream>
 #include <stdexcept>
 
-#include "router.hpp"
-#include "session.hpp"
-#include "package.hpp"
+#include <metaproxy/package.hpp>
 
 #include <map>
 
index a8b8672..9526e03 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "session.hpp"
+#include <metaproxy/session.hpp>
 
 #include <iostream>
 
index e271a00..0a6130e 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "session.hpp"
+#include <metaproxy/session.hpp>
 
 #include <iostream>
 #include <list>
index cb9a435..0e6c50b 100644 (file)
@@ -17,7 +17,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "config.hpp"
-#include "util.hpp"
+#include <metaproxy/util.hpp>
 
 #include <yaz/odr.h>
 #include <yaz/pquery.h>
diff --git a/src/util.hpp b/src/util.hpp
deleted file mode 100644 (file)
index 810afbd..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef YP2_UTIL_HPP
-#define YP2_UTIL_HPP
-
-#include "package.hpp"
-
-#include <yaz/z-core.h>
-
-#include <boost/utility.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <list>
-#include <vector>
-#include <sstream>
-#include <string>
-
-
-namespace metaproxy_1 {
-    namespace util  {
-
-        
-        template<typename T> 
-        std::string to_string(const T& t)
-        {
-            std::ostringstream o;
-            if(o << t)
-                return o.str();    
-            return std::string();
-        };
-
-        const char * 
-        record_composition_to_esn(Z_RecordComposition *comp);
-
-        std::string http_header_value(const Z_HTTP_Header* header, 
-                                               const std::string name);
-
-        std::string http_headers_debug(const Z_HTTP_Request &http_req);        
-
-        void http_response(metaproxy_1::Package &package, 
-                           const std::string &content, 
-                           int http_code = 200);
-
-
-        int memcmp2(const void *buf1, int len1, const void *buf2, int len2);
-
-        std::string database_name_normalize(const std::string &s);
-
-       bool pqf(ODR odr, Z_APDU *apdu, const std::string &q);
-
-        std::string zQueryToString(Z_Query *query);
-
-        Z_ReferenceId **get_referenceId(const Z_APDU *apdu);
-
-        void transfer_referenceId(ODR odr, const Z_APDU *src, Z_APDU *dst);
-
-        Z_APDU *create_APDU(ODR odr, int type, const Z_APDU *in_apdu);
-
-        bool set_databases_from_zurl(ODR odr, std::string zurl,
-                                     int *db_num, char ***db_strings);
-
-        void split_zurl(std::string zurl, std::string &host,
-                        std::list<std::string> &db);
-        
-        void get_vhost_otherinfo(Z_OtherInformation *otherInformation,
-                                 std::list<std::string> &vhosts);
-        
-        int remove_vhost_otherinfo(Z_OtherInformation **otherInformation,
-                                   std::list<std::string> &vhosts);
-
-        void set_vhost_otherinfo(Z_OtherInformation **otherInformation, 
-                                 ODR odr,
-                                 const std::string vhost, 
-                                 const int cat);
-
-        void set_vhost_otherinfo(Z_OtherInformation **otherInformation,
-                                 ODR odr,
-                                 const std::list<std::string> &vhosts);
-
-        int get_or_remove_vhost_otherinfo(
-            Z_OtherInformation **otherInformation,
-            bool remove_flag,
-            std::list<std::string> &vhosts);
-
-        void get_init_diagnostics(Z_InitResponse *res,
-                                  int &error_code, std::string &addinfo);
-
-        void get_default_diag(Z_DefaultDiagFormat *r,
-                              int &error_code, std::string &addinfo);
-
-        void piggyback(int smallSetUpperBound,
-                       int largeSetLowerBound,
-                       int mediumSetPresentNumber,
-                       int result_set_size,
-                       int &number_to_present);
-
-    };
-
-    class odr : public boost::noncopyable {
-    public:
-        odr(int type);
-        odr();
-        ~odr();
-        operator ODR() const;
-        Z_APDU *create_close(const Z_APDU *in_apdu, 
-                             int reason, const char *addinfo);
-        Z_APDU *create_initResponse(const Z_APDU *in_apdu, 
-                                    int error, const char *addinfo);
-        Z_APDU *create_searchResponse(const Z_APDU *in_apdu,
-                                      int error, const char *addinfo);
-        Z_APDU *create_presentResponse(const Z_APDU *in_apdu,
-                                       int error, const char *addinfo);
-        Z_APDU *create_scanResponse(const Z_APDU *in_apdu,
-                                    int error, const char *addinfo);
-        Z_APDU *create_APDU(int type, const Z_APDU *in_apdu);
-
-        Z_GDU *create_HTTP_Response(metaproxy_1::Session &session,
-                                    Z_HTTP_Request *req, int code);
-    private:
-        ODR m_odr;
-    };
-
-    class PlainFile {
-        class Rep;
-        boost::scoped_ptr<Rep> m_p;
-    public:
-        PlainFile();
-        ~PlainFile();
-        bool open(const std::string &fname);
-        bool getline(std::vector<std::string> &args);
-    };
-}
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
index a39863a..209b7f1 100644 (file)
@@ -16,7 +16,7 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#include "xmlutil.hpp"
+#include <metaproxy/xmlutil.hpp>
 
 #include <string.h>
 
diff --git a/src/xmlutil.hpp b/src/xmlutil.hpp
deleted file mode 100644 (file)
index 5377bb4..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/* This file is part of Metaproxy.
-   Copyright (C) 2005-2010 Index Data
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#ifndef XML_UTIL_HPP
-#define XML_UTIL_HPP
-
-#include <string>
-#include <stdexcept>
-#include <libxml/tree.h>
-
-namespace metaproxy_1 {
-    namespace xml {
-        std::string get_text(const struct _xmlAttr *ptr);
-        std::string get_text(const xmlNode *ptr);
-        bool get_bool(const xmlNode *ptr, bool default_value);
-        int get_int(const xmlNode *ptr, int default_value);
-        bool check_attribute(const _xmlAttr *ptr, 
-                        const std::string &ns,
-                        const std::string &name);
-        bool is_attribute(const _xmlAttr *ptr, 
-                        const std::string &ns,
-                        const std::string &name);
-        bool is_element(const xmlNode *ptr, 
-                        const std::string &ns,
-                        const std::string &name);
-        bool is_element_mp(const xmlNode *ptr, const std::string &name);
-        bool check_element_mp(const xmlNode *ptr, 
-                               const std::string &name);
-        std::string get_route(const xmlNode *node);
-
-        const xmlNode* jump_to(const xmlNode* node, int node_type);
-
-        const xmlNode* jump_to_next(const xmlNode* node, int node_type);
-        
-        const xmlNode* jump_to_children(const xmlNode* node, int node_type);
-
-        void check_empty(const xmlNode *node);
-
-    }
-    class XMLError : public std::runtime_error {
-    public:
-        XMLError(const std::string msg) :
-            std::runtime_error("XMLError : " + msg) {} ;
-    };
-}
-
-#endif
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-