1 /* $Id: filter_query_rewrite.cpp,v 1.1 2006-01-19 12:18:09 marc Exp $
2 Copyright (c) 2005, Index Data.
10 #include "package.hpp"
12 //#include <boost/thread/mutex.hpp>
15 #include "filter_query_rewrite.hpp"
19 namespace yf = yp2::filter;
23 class QueryRewrite::Rep {
24 friend class QueryRewrite;
30 yf::QueryRewrite::QueryRewrite() : m_p(new Rep)
35 yf::QueryRewrite::~QueryRewrite()
36 { // must have a destructor because of boost::scoped_ptr
39 void yf::QueryRewrite::process(yp2::Package &package) const
42 if (package.session().is_closed())
44 std::cout << "Got Close.\n";
47 Z_GDU *gdu = package.request().get();
49 if (gdu && gdu->which == Z_GDU_Z3950 && gdu->u.z3950->which ==
52 std::cout << "Got Z3950 Init PDU\n";
53 //Z_InitRequest *req = gdu->u.z3950->u.initRequest;
54 //package.request() = gdu;
56 else if (gdu && gdu->which == Z_GDU_Z3950 && gdu->u.z3950->which ==
59 std::cout << "Got Z3950 Search PDU\n";
60 //Z_SearchRequest *req = gdu->u.z3950->u.searchRequest;
61 //package.request() = gdu;
63 else if (gdu && gdu->which == Z_GDU_Z3950 && gdu->u.z3950->which ==
66 std::cout << "Got Z3950 Scan PDU\n";
67 //Z_ScanRequest *req = gdu->u.z3950->u.scanRequest;
68 //package.request() = gdu;
73 static yp2::filter::Base* filter_creator()
75 return new yp2::filter::QueryRewrite;
79 struct yp2_filter_struct yp2_filter_query_rewrite = {
87 extern struct yp2_filter_struct yp2_filter_query_rewrite;
94 * indent-tabs-mode: nil
95 * c-file-style: "stroustrup"
97 * vim: shiftwidth=4 tabstop=8 expandtab