-/* $Id: filter.hpp,v 1.7 2005-10-29 22:23:36 marc Exp $
+/* $Id: filter.hpp,v 1.9 2005-11-03 14:45:15 adam Exp $
Copyright (c) 2005, Index Data.
%LICENSE%
#ifndef FILTER_HPP
#define FILTER_HPP
+#include <string>
#include <stdexcept>
#include <libxml/tree.h>
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){
+
+ struct Creator {
+ const char* type;
+ yp2::filter::Base* (*creator)();
};
- };
+ class FilterException : public std::runtime_error {
+ public:
+ FilterException(const std::string message)
+ : std::runtime_error("FilterException: " + message){
+ };
+ };
+
+ }
}