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

#ifndef __java_security_VMAccessController__
#define __java_security_VMAccessController__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace security
    {
        class AccessControlContext;
        class VMAccessController;
    }
  }
}

class java::security::VMAccessController : public ::java::lang::Object
{

  static void debug(::java::lang::String *);
  VMAccessController();
public: // actually package-private
  static void pushContext(::java::security::AccessControlContext *);
  static void popContext();
  static ::java::security::AccessControlContext * getContext();
private:
  static JArray< ::java::lang::Object * > * getStack();
  static ::java::security::AccessControlContext * DEFAULT_CONTEXT;
  static jboolean DEBUG;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_VMAccessController__
