diff options
Diffstat (limited to 'libjava/classpath/gnu/javax/sound/AudioSecurityManager.java')
-rw-r--r-- | libjava/classpath/gnu/javax/sound/AudioSecurityManager.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libjava/classpath/gnu/javax/sound/AudioSecurityManager.java b/libjava/classpath/gnu/javax/sound/AudioSecurityManager.java new file mode 100644 index 00000000000..cd10e510665 --- /dev/null +++ b/libjava/classpath/gnu/javax/sound/AudioSecurityManager.java @@ -0,0 +1,41 @@ +package gnu.javax.sound; + +import javax.sound.sampled.AudioPermission; + +public class AudioSecurityManager +{ + public static enum Permission + { + PLAY, RECORD, ALL + } + + public static final void checkPermissions() + { + checkPermissions(Permission.ALL); + } + + public static final void checkPermissions(Permission permission) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + { + String perm = null; + switch (permission) + { + case PLAY: + perm = "play"; + break; + + case RECORD: + perm = "record"; + break; + + case ALL: default: + perm = "*"; + break; + } + + sm.checkPermission(new AudioPermission(perm)); + } + } +} |