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

#ifndef __gnu_xml_util_DoParse$MyErrorHandler__
#define __gnu_xml_util_DoParse$MyErrorHandler__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace util
      {
          class DoParse$MyErrorHandler;
      }
    }
  }
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class SAXParseException;
      }
    }
  }
}

class gnu::xml::util::DoParse$MyErrorHandler : public ::java::lang::Object
{

public: // actually package-private
  DoParse$MyErrorHandler();
public:
  virtual void error(::org::xml::sax::SAXParseException *);
  virtual void warning(::org::xml::sax::SAXParseException *);
  virtual void fatalError(::org::xml::sax::SAXParseException *);
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_util_DoParse$MyErrorHandler__
