Year 2007.
[metaproxy-moved-to-github.git] / src / filter_template.cpp
index 1c3bf86..8c0d3aa 100644 (file)
@@ -1,50 +1,95 @@
-/* $Id: filter_template.cpp,v 1.1 2005-11-14 23:35:22 adam Exp $
-   Copyright (c) 2005, Index Data.
+/* $Id: filter_template.cpp,v 1.10 2007-01-25 14:05:54 adam Exp $
+   Copyright (c) 2005-2007, Index Data.
 
-%LICENSE%
+   See the LICENSE file for details
  */
 
 #include "config.hpp"
-
 #include "filter.hpp"
-#include "router.hpp"
+#include "filter_template.hpp"
 #include "package.hpp"
+#include "util.hpp"
 
 #include <boost/thread/mutex.hpp>
 
-#include "util.hpp"
-#include "filter_template.hpp"
-
 #include <yaz/zgdu.h>
 
-namespace yf = yp2::filter;
+namespace mp = metaproxy_1;
+namespace yf = mp::filter;
 
-namespace yp2 {
+namespace metaproxy_1 {
     namespace filter {
-        class Template::Rep {
-            friend class Template;
-            int dummy;
+        class Template::Impl {
+        public:
+            Impl();
+            ~Impl();
+            void process(metaproxy_1::Package & package) const;
+            void configure(const xmlNode * ptr);
+        private:
+            int m_dummy;
         };
     }
 }
 
-using namespace yp2;
-
-yf::Template::Template() : m_p(new Rep)
+// define Pimpl wrapper forwarding to Impl
+yf::Template::Template() : m_p(new Impl)
 {
 }
 
 yf::Template::~Template()
+{  // must have a destructor because of boost::scoped_ptr
+}
+
+void yf::Template::configure(const xmlNode *xmlnode)
+{
+    m_p->configure(xmlnode);
+}
+
+void yf::Template::process(mp::Package &package) const
+{
+    m_p->process(package);
+}
+
+
+// define Implementation stuff
+
+
+
+yf::Template::Impl::Impl()
 {
+    m_dummy = 1;
 }
 
-void yf::Template::process(Package &package) const
+yf::Template::Impl::~Impl()
+{ 
+}
+
+void yf::Template::Impl::configure(const xmlNode *xmlnode)
+{
+}
+
+void yf::Template::Impl::process(mp::Package &package) const
 {
     // Z_GDU *gdu = package.request().get();
     package.move();
 }
 
 
+static mp::filter::Base* filter_creator()
+{
+    return new mp::filter::Template;
+}
+
+extern "C" {
+    struct metaproxy_1_filter_struct metaproxy_1_filter_template = {
+        0,
+        "template",
+        filter_creator
+    };
+}
+
+
 /*
  * Local variables:
  * c-basic-offset: 4