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

#ifndef __gnu_java_security_provider_Gnu$1__
#define __gnu_java_security_provider_Gnu$1__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace provider
        {
            class Gnu;
            class Gnu$1;
        }
      }
    }
  }
}

class gnu::java::security::provider::Gnu$1 : public ::java::lang::Object
{

public: // actually package-private
  Gnu$1(::gnu::java::security::provider::Gnu *);
public:
  virtual ::java::lang::Object * run();
public: // actually package-private
  ::gnu::java::security::provider::Gnu * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_provider_Gnu$1__
