-/* $Id: filter.hpp,v 1.7 2005-10-29 22:23:36 marc Exp $
+/* $Id: filter.hpp,v 1.15 2006-01-11 11:51:49 adam Exp $
Copyright (c) 2005, Index Data.
%LICENSE%
#ifndef FILTER_HPP
#define FILTER_HPP
+#include <string>
#include <stdexcept>
#include <libxml/tree.h>
+#include "xmlutil.hpp"
namespace yp2 {
///sends Package off to next Filter, returns altered Package
virtual void process(Package & package) const = 0;
- virtual void configure(const xmlNode * ptr = 0) { };
-
-
- virtual const std::string type() const = 0;
- };
- }
-
- class FilterException : public std::runtime_error {
- public:
- FilterException(const std::string message)
- : std::runtime_error("FilterException: " + message){
+ virtual void configure(const xmlNode * ptr);
};
- };
-
+ class FilterException : public std::runtime_error {
+ public:
+ FilterException(const std::string message)
+ : std::runtime_error("FilterException: " + message){
+ };
+ };
+ }
}
+struct yp2_filter_struct {
+ int ver;
+ const char *type;
+ yp2::filter::Base* (*creator)();
+};
+
#endif
/*
* Local variables: