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

#ifndef __java_net_NetPermission__
#define __java_net_NetPermission__

#pragma interface

#include <java/security/BasicPermission.h>
extern "Java"
{
  namespace java
  {
    namespace net
    {
        class NetPermission;
    }
  }
}

class java::net::NetPermission : public ::java::security::BasicPermission
{

public:
  NetPermission(::java::lang::String *);
  NetPermission(::java::lang::String *, ::java::lang::String *);
public: // actually package-private
  static const jlong serialVersionUID = -8343910153355041693LL;
public:
  static ::java::lang::Class class$;
};

#endif // __java_net_NetPermission__
