Merge branch 'master' of http://github.com/mono/mono
[mono.git] / mcs / class / corlib / System.Security.Permissions / FileIOPermissionAttribute.cs
index 92666454536d4688168f7b31b0519aa04d216e36..5f7fbff2d8633920d2992246abc814cf2e67a99b 100644 (file)
@@ -7,7 +7,7 @@
 //
 // (C) 2002 Ximian, Inc. http://www.ximian.com
 // Portions Copyright (C) 2003 Motus Technologies (http://www.motus.com)
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Security.Permissions {
 
+       [ComVisible (true)]
        [AttributeUsage (AttributeTargets.Assembly | AttributeTargets.Class |
                         AttributeTargets.Struct | AttributeTargets.Constructor |
                         AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
@@ -42,13 +45,11 @@ namespace System.Security.Permissions {
                private string path;
                private string read;
                private string write;
-#if NET_2_0
                private FileIOPermissionAccess allFiles;
                private FileIOPermissionAccess allLocalFiles;
                private string changeAccessControl;
                private string viewAccessControl;
-               private string viewAndModify;
-#endif
+               //private string viewAndModify;
 
                // Constructor
                public FileIOPermissionAttribute (SecurityAction action) : base (action)
@@ -56,13 +57,9 @@ namespace System.Security.Permissions {
                }
                
                // Properties
-#if NET_2_0
                [Obsolete ("use newer properties")]
-#endif
                public string All {
-#if NET_1_1
                        get { throw new NotSupportedException ("All"); }
-#endif
                        set {
                                append = value; 
                                path = value;
@@ -91,7 +88,6 @@ namespace System.Security.Permissions {
                        set { write = value; }
                }
 
-#if NET_2_0
                public FileIOPermissionAccess AllFiles {
                        get { return allFiles; }
                        set { allFiles = value; }
@@ -121,11 +117,12 @@ namespace System.Security.Permissions {
                                write = value;
                        }
                }
-#endif
-                        
                // Methods
                public override IPermission CreatePermission ()
                {
+#if NET_2_1
+                       return null;
+#else
                        FileIOPermission perm = null;
                        if (this.Unrestricted)
                                perm = new FileIOPermission (PermissionState.Unrestricted);
@@ -141,6 +138,7 @@ namespace System.Security.Permissions {
                                        perm.AddPathList (FileIOPermissionAccess.Write, write);
                        }
                        return perm;
+#endif
                }
        }
 }