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

#ifndef __java_net_SocketPermission__
#define __java_net_SocketPermission__

#pragma interface

#include <java/security/Permission.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace security
    {
      class Permission;
      class PermissionCollection;
    }
    namespace net
    {
      class SocketPermission;
      class InetAddress;
    }
  }
}

class java::net::SocketPermission : public ::java::security::Permission
{
public:
  SocketPermission (::java::lang::String *, ::java::lang::String *);
private:
  static ::java::lang::String *processHostport (::java::lang::String *);
  void setHostPort (::java::lang::String *);
  void setActions (::java::lang::String *);
  void setAction (::java::lang::String *);
public:
  virtual jboolean equals (::java::lang::Object *);
  virtual jint hashCode ();
  virtual ::java::lang::String *getActions ();
  virtual ::java::security::PermissionCollection *newPermissionCollection () { return 0; }
private:
  JArray< ::java::net::InetAddress *> *getAddresses ();
  ::java::lang::String *getCanonicalHostName ();
public:
  virtual jboolean implies (::java::security::Permission *);
private:
  void readObject (::java::io::ObjectInputStream *);
  void writeObject (::java::io::ObjectOutputStream *);
public: // actually package-private
  static const jlong serialVersionUID = -7204263841984476862LL;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::security::Permission )))) hostname;
  ::java::net::InetAddress *address;
  jint minport;
  jint maxport;
  static const jint MIN_PORT = 0L;
  static const jint MAX_PORT = 2147483647L;
  ::java::lang::String *actions;
  jint actionmask;
  static JArray< ::java::lang::String *> *ACTIONS;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_net_SocketPermission__ */
