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

#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__
#define __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__

#pragma interface

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

class gnu::javax::crypto::sasl::crammd5::CramMD5Registry : public ::java::lang::Object
{

public:
  static ::java::lang::String * PASSWORD_FILE;
  static ::java::lang::String * DEFAULT_PASSWORD_FILE;
  static ::java::lang::String * UID_FIELD;
  static ::java::lang::String * GID_FIELD;
  static ::java::lang::String * GECOS_FIELD;
  static ::java::lang::String * DIR_FIELD;
  static ::java::lang::String * SHELL_FIELD;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__
