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

#ifndef __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__
#define __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace relaxng
    {
      namespace datatype
      {
        namespace helpers
        {
            class DatatypeLibraryLoader$Service$Loader;
        }
      }
    }
  }
}

class org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader : public ::java::lang::Object
{

  DatatypeLibraryLoader$Service$Loader();
public: // actually package-private
  virtual ::java::util::Enumeration * getResources(::java::lang::String *);
  virtual ::java::lang::Class * loadClass(::java::lang::String *);
  DatatypeLibraryLoader$Service$Loader(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *);
  DatatypeLibraryLoader$Service$Loader(::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *, ::org::relaxng::datatype::helpers::DatatypeLibraryLoader$Service$Loader *);
public:
  static ::java::lang::Class class$;
};

#endif // __org_relaxng_datatype_helpers_DatatypeLibraryLoader$Service$Loader__
