
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_xml_pipeline_EventConsumer__
#define __gnu_xml_pipeline_EventConsumer__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace pipeline
      {
          class EventConsumer;
      }
    }
  }
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class ContentHandler;
          class DTDHandler;
          class ErrorHandler;
      }
    }
  }
}

class gnu::xml::pipeline::EventConsumer : public ::java::lang::Object
{

public:
  virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0;
  virtual ::org::xml::sax::DTDHandler * getDTDHandler() = 0;
  virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0;
  virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_xml_pipeline_EventConsumer__
