/* * @(#)DefaultSecurity.java 1.5 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media; import java.util.Hashtable; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; public class DefaultSecurity implements JMFSecurity { public static JMFSecurity security; private static ClassLoader clsLoader=null; private static Class cls=null; private static Method dummyMethodRef=null; static { security = new DefaultSecurity(); try { cls = security.getClass(); clsLoader = cls.getClassLoader(); dummyMethodRef = cls.getMethod("dummyMethod",new Class[0]); } catch (Exception e) { System.out.println(e); } } public static void dummyMethod() { } private DefaultSecurity() { } public String getName() { return "default"; } public void requestPermission(Method[] m, Class[] c, Object[][] args, int request) throws SecurityException { // if (clsLoader == null) { m[0] = dummyMethodRef; c[0] = cls; args[0] = null; // Dont throw SecurityException if clsLoader is not null // as we may be able to get some permissions. // } // else { // throw new SecurityException("DefaultSecurity : Cannot request permission"); // } } // parameter not used public void requestPermission(Method[] m, Class[] c, Object[][] args, int request, String parameter) throws SecurityException { requestPermission(m, c, args, request); } public boolean isLinkPermissionEnabled() { if (clsLoader == null) { return true; } else { return false; } } public void permissionFailureNotification(int permission) { } public void loadLibrary(String name) throws UnsatisfiedLinkError { if (clsLoader == null) { System.loadLibrary(name); } else { throw new UnsatisfiedLinkError("Unable to get link privilege to " + name); } } }