2003-12-29 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / class / corlib / System.Security.Permissions / UIPermissionAttribute.cs
1 //
2 // System.Security.Permissions.UIPermissionAttribute.cs
3 //
4 // Duncan Mak <duncan@ximian.com>
5 //
6 // (C) 2002 Ximian, Inc.                        http://www.ximian.com
7 //
8
9 using System;
10
11 namespace System.Security.Permissions {
12
13         [AttributeUsage (AttributeTargets.Assembly | AttributeTargets.Class |
14                          AttributeTargets.Struct | AttributeTargets.Constructor |
15                          AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
16         [Serializable]
17         public sealed class UIPermissionAttribute : CodeAccessSecurityAttribute {
18
19                 // Fields
20                 private UIPermissionClipboard clipboard;
21                 private UIPermissionWindow window;
22                 
23                 // Constructor
24                 public UIPermissionAttribute (SecurityAction action) : base (action) {}
25                 
26                 // Properties
27                 public UIPermissionClipboard Clipboard
28                 {
29                         get { return clipboard; }
30                         set { clipboard = value; }
31                 }
32
33                 public UIPermissionWindow Window
34                 {
35                         get { return window; }
36                         set { window = value; }
37                 }
38
39                 // Methods
40                 public override IPermission CreatePermission ()
41                 {
42                         UIPermission perm = null;
43                         if (this.Unrestricted)
44                                 perm = new UIPermission (PermissionState.Unrestricted);
45                         else
46                                 perm = new UIPermission (window, clipboard);
47                         return perm;
48                 }
49         }
50 }