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

#ifndef __gnu_javax_sound_AudioSecurityManager__
#define __gnu_javax_sound_AudioSecurityManager__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace sound
      {
          class AudioSecurityManager;
          class AudioSecurityManager$Permission;
      }
    }
  }
}

class gnu::javax::sound::AudioSecurityManager : public ::java::lang::Object
{

public:
  AudioSecurityManager();
  static void checkPermissions();
  static void checkPermissions(::gnu::javax::sound::AudioSecurityManager$Permission *);
public: // actually package-private
  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$AudioSecurityManager$Permission();
private:
  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$AudioSecurityManager$Permission__;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_sound_AudioSecurityManager__
