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

#ifndef __javax_security_auth_login_NullConfiguration__
#define __javax_security_auth_login_NullConfiguration__

#pragma interface

#include <javax/security/auth/login/Configuration.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace security
    {
      namespace auth
      {
        namespace login
        {
            class AppConfigurationEntry;
            class NullConfiguration;
        }
      }
    }
  }
}

class javax::security::auth::login::NullConfiguration : public ::javax::security::auth::login::Configuration
{

public: // actually package-private
  NullConfiguration();
public:
  JArray< ::javax::security::auth::login::AppConfigurationEntry * > * getAppConfigurationEntry(::java::lang::String *);
  void refresh();
  static ::java::lang::Class class$;
};

#endif // __javax_security_auth_login_NullConfiguration__
