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

#ifndef __gnu_javax_crypto_sasl_AuthInfo__
#define __gnu_javax_crypto_sasl_AuthInfo__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace sasl
        {
            class AuthInfo;
            class IAuthInfoProvider;
        }
      }
    }
  }
}

class gnu::javax::crypto::sasl::AuthInfo : public ::java::lang::Object
{

  AuthInfo();
public:
  static ::gnu::javax::crypto::sasl::IAuthInfoProvider * getProvider(::java::lang::String *);
private:
  static ::java::util::ArrayList * factories;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_sasl_AuthInfo__
