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

#ifndef __gnu_javax_crypto_sasl_SaslUtil__
#define __gnu_javax_crypto_sasl_SaslUtil__

#pragma interface

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

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

  SaslUtil();
public:
  static jboolean validEmailAddress(::java::lang::String *);
  static ::java::lang::String * dump(::java::security::MessageDigest *);
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_sasl_SaslUtil__
