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

#ifndef __gnu_classpath_ServiceProviderLoadingAction__
#define __gnu_classpath_ServiceProviderLoadingAction__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
        class ServiceProviderLoadingAction;
    }
  }
}

class gnu::classpath::ServiceProviderLoadingAction : public ::java::lang::Object
{

public: // actually package-private
  ServiceProviderLoadingAction(::java::lang::Class *, ::java::lang::String *, ::java::lang::ClassLoader *);
public:
  ::java::lang::Object * run();
private:
  ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spi;
  ::java::lang::String * providerName;
  ::java::lang::ClassLoader * loader;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_classpath_ServiceProviderLoadingAction__
