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

#ifndef __java_security_BasicPermission$BasicPermissionCollection__
#define __java_security_BasicPermission$BasicPermissionCollection__

#pragma interface

#include <java/security/PermissionCollection.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class BasicPermission$BasicPermissionCollection;
        class Permission;
    }
  }
}

class java::security::BasicPermission$BasicPermissionCollection : public ::java::security::PermissionCollection
{

public: // actually package-private
  BasicPermission$BasicPermissionCollection(::java::lang::Class *);
public:
  void add(::java::security::Permission *);
  jboolean implies(::java::security::Permission *);
  ::java::util::Enumeration * elements();
private:
  static const jlong serialVersionUID = 739301742472979399LL;
  ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions;
  jboolean all_allowed;
  ::java::lang::Class * permClass;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_BasicPermission$BasicPermissionCollection__
