X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=example-module%2Ffilter_myfilter.cpp;h=c1310c449ee42d1051950fbb4889cbf9c4b2cce7;hb=586d78659d671683f33ec55f4a7d32b28e345ccd;hp=4c8f82d5fb7e45884e78dcd9693026900734c99b;hpb=f2ad6d315729a024c75870d6761c77cbee570f00;p=metaproxy-moved-to-github.git diff --git a/example-module/filter_myfilter.cpp b/example-module/filter_myfilter.cpp index 4c8f82d..c1310c4 100644 --- a/example-module/filter_myfilter.cpp +++ b/example-module/filter_myfilter.cpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2008 Index Data + Copyright (C) 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 @@ -19,10 +19,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include -#include "config.hpp" -#include "filter.hpp" -#include "package.hpp" -#include "util.hpp" +#include +#include +#include namespace mp = metaproxy_1; @@ -31,13 +30,13 @@ namespace metaproxy_1 { class Filter_myfilter: public mp::filter::Base { public: void process(mp::Package & package) const; - void configure(const xmlNode *ptr, bool test_only); + void configure(const xmlNode *ptr, bool test_only, const char *path); }; } } void mp::filter::Filter_myfilter::process(mp::Package & package) const -{ // See src/filter_backend_test.cpp for a more comprehensive +{ // See src/filter_backend_test.cpp for a more comprehensive // example of a dummy Z-server Z_GDU *gdu = package.request().get(); Z_APDU *apdu_res = 0; @@ -50,24 +49,24 @@ void mp::filter::Filter_myfilter::process(mp::Package & package) const return; } Z_APDU *apdu_req = gdu->u.z3950; - if (apdu_req->which == Z_APDU_initRequest) + if (apdu_req->which == Z_APDU_initRequest) { yaz_log(YLOG_LOG, "myfilter::process: Init request"); - apdu_res= odr.create_initResponse( apdu_req, + apdu_res= odr.create_initResponse( apdu_req, YAZ_BIB1_PERMANENT_SYSTEM_ERROR, "Not implemented!"); package.response() = apdu_res; } - else + else { yaz_log(YLOG_LOG, "myfilter::process: Unknown request type"); package.move(); // Send on to other filters } } -void mp::filter::Filter_myfilter::configure(const xmlNode *ptr, bool test_only) +void mp::filter::Filter_myfilter::configure(const xmlNode *ptr, bool test_only, const char *path) { - yaz_log(YLOG_LOG, "myfilter::configure"); - for (ptr = ptr->children; ptr; ptr = ptr->next) + yaz_log(YLOG_LOG, "myfilter::configure called with test_only %d and %s", test_only, path); + for (ptr = ptr->children; ptr; ptr = ptr->next) { if (ptr->type != XML_ELEMENT_NODE) continue; @@ -77,7 +76,7 @@ void mp::filter::Filter_myfilter::configure(const xmlNode *ptr, bool test_only) yaz_log(YLOG_LOG, "myfilter::configure: %s", msg.c_str() ); } - else + else { throw mp::filter::FilterException("Bad element " + std::string((const char *) ptr->name)); @@ -103,8 +102,9 @@ extern "C" { /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil - * c-file-style: "stroustrup" * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +