コード例 #1
0
        }// PutValuesinPage

        internal override IPermission GetCurrentPermission()
        {
            FileDialogPermission perm = null;

            if (m_radUnrestricted.Checked == true)
            {
                perm = new FileDialogPermission(PermissionState.Unrestricted);
            }
            else
            {
                perm = new FileDialogPermission(PermissionState.None);
                FileDialogPermissionAccess fdpa = FileDialogPermissionAccess.None;
                if (m_cbOptions.SelectedIndex == 1)
                {
                    fdpa = FileDialogPermissionAccess.Open;
                }
                else if (m_cbOptions.SelectedIndex == 2)
                {
                    fdpa = FileDialogPermissionAccess.Save;
                }
                else if (m_cbOptions.SelectedIndex == 3)
                {
                    fdpa = FileDialogPermissionAccess.OpenSave;
                }

                perm.Access = fdpa;
            }
            return(perm);
        } // GetCurrentPermission
コード例 #2
0
        // Convert an XML value into a permissions value.
        public override void FromXml(SecurityElement esd)
        {
            String value;

            if (esd == null)
            {
                throw new ArgumentNullException("esd");
            }
            if (esd.Attribute("version") != "1")
            {
                throw new ArgumentException(_("Arg_PermissionVersion"));
            }
            value = esd.Attribute("Unrestricted");
            if (value != null && Boolean.Parse(value))
            {
                state = PermissionState.Unrestricted;
            }
            else
            {
                state = PermissionState.None;
            }
            value = esd.Attribute("Access");
            if (value != null)
            {
                flags = (FileDialogPermissionAccess)
                        Enum.Parse(typeof(FileDialogPermissionAccess), value);
            }
            else
            {
                flags = FileDialogPermissionAccess.None;
            }
        }
コード例 #3
0
	// Convert an XML value into a permissions value.
	public override void FromXml(SecurityElement esd)
			{
				String value;
				if(esd == null)
				{
					throw new ArgumentNullException("esd");
				}
				if(esd.Attribute("version") != "1")
				{
					throw new ArgumentException(_("Arg_PermissionVersion"));
				}
				value = esd.Attribute("Unrestricted");
				if(value != null && Boolean.Parse(value))
				{
					state = PermissionState.Unrestricted;
				}
				else
				{
					state = PermissionState.None;
				}
				value = esd.Attribute("Access");
				if(value != null)
				{
					flags = (FileDialogPermissionAccess)
						Enum.Parse(typeof(FileDialogPermissionAccess), value);
				}
				else
				{
					flags = FileDialogPermissionAccess.None;
				}
			}
コード例 #4
0
        public override void FromXml(SecurityElement esd)
        {
            // General validation in CodeAccessPermission
            CheckSecurityElement(esd, "esd", version, version);
            // Note: we do not (yet) care about the return value
            // as we only accept version 1 (min/max values)

            if (IsUnrestricted(esd))
            {
                _access = FileDialogPermissionAccess.OpenSave;
            }
            else
            {
                string a = esd.Attribute("Access");
                if (a == null)
                {
                    _access = FileDialogPermissionAccess.None;
                }
                else
                {
                    _access = (FileDialogPermissionAccess)Enum.Parse(
                        typeof(FileDialogPermissionAccess), a);
                }
            }
        }
コード例 #5
0
 private static void VerifyAccess(FileDialogPermissionAccess access)
 {
     if ((access & ~FileDialogPermissionAccess.OpenSave) != FileDialogPermissionAccess.None)
     {
         throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", new object[] { (int)access }));
     }
 }
コード例 #6
0
		// Constructors

		public FileDialogPermission (PermissionState state)
		{
			if (CheckPermissionState (state, true) == PermissionState.Unrestricted)
				_access = FileDialogPermissionAccess.OpenSave;
			else
				_access = FileDialogPermissionAccess.None;
		}
コード例 #7
0
 static void VerifyAccess(FileDialogPermissionAccess access)
 {
     if ((access & ~FileDialogPermissionAccess.OpenSave) != 0)
     {
         throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", (int)access));
     }
     Contract.EndContractBlock();
 }
コード例 #8
0
 private void SetUnrestricted(bool unrestricted)
 {
     if (!unrestricted)
     {
         return;
     }
     this.access = FileDialogPermissionAccess.OpenSave;
 }
コード例 #9
0
        // Constructors

        public FileDialogPermission(PermissionState state)
        {
            if (CheckPermissionState(state, true) == PermissionState.Unrestricted)
            {
                _access = FileDialogPermissionAccess.OpenSave;
            }
            else
            {
                _access = FileDialogPermissionAccess.None;
            }
        }
コード例 #10
0
        /// <summary>Creates and returns a permission that is the intersection of the current permission and the specified permission.</summary>
        /// <returns>A new permission that represents the intersection of the current permission and the specified permission. This new permission is null if the intersection is empty.</returns>
        /// <param name="target">A permission to intersect with the current permission. It must be the same type as the current permission. </param>
        /// <exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not null and is not of the same type as the current permission. </exception>
        public override IPermission Intersect(IPermission target)
        {
            FileDialogPermission fileDialogPermission = this.Cast(target);

            if (fileDialogPermission == null)
            {
                return(null);
            }
            FileDialogPermissionAccess fileDialogPermissionAccess = this._access & fileDialogPermission._access;

            return((fileDialogPermissionAccess != FileDialogPermissionAccess.None) ? new FileDialogPermission(fileDialogPermissionAccess) : null);
        }
コード例 #11
0
        public override IPermission Intersect(IPermission target)
        {
            FileDialogPermission fdp = Cast(target);

            if (fdp == null)
            {
                return(null);
            }

            FileDialogPermissionAccess a = (_access & fdp._access);

            return((a == FileDialogPermissionAccess.None) ? null : new FileDialogPermission(a));
        }
コード例 #12
0
        public override void FromXml(SecurityElement esd) {
            CodeAccessPermission.ValidateElement(esd, this);
            if (XMLUtil.IsUnrestricted(esd)) {
                SetUnrestricted(true);
                return;
            }

            access = FileDialogPermissionAccess.None;

            string accessXml = esd.Attribute("Access");
            if (accessXml != null)
                access = (FileDialogPermissionAccess)Enum.Parse(typeof(FileDialogPermissionAccess), accessXml);
        }
 public override void FromXml(SecurityElement esd)
 {
     CodeAccessPermission.ValidateElement(esd, this);
     if (XMLUtil.IsUnrestricted(esd))
     {
         this.SetUnrestricted(true);
     }
     else
     {
         this.access = FileDialogPermissionAccess.None;
         string str = esd.Attribute("Access");
         if (str != null)
         {
             this.access = (FileDialogPermissionAccess) Enum.Parse(typeof(FileDialogPermissionAccess), str);
         }
     }
 }
コード例 #14
0
 public override void FromXml(SecurityElement esd)
 {
     CodeAccessPermission.ValidateElement(esd, this);
     if (XMLUtil.IsUnrestricted(esd))
     {
         this.SetUnrestricted(true);
     }
     else
     {
         this.access = FileDialogPermissionAccess.None;
         string str = esd.Attribute("Access");
         if (str != null)
         {
             this.access = (FileDialogPermissionAccess)Enum.Parse(typeof(FileDialogPermissionAccess), str);
         }
     }
 }
コード例 #15
0
        /// <summary>创建并返回一个权限,该权限是当前权限和指定权限的交集。</summary>
        /// <returns>一个新权限,它表示当前权限与指定权限的交集。如果交集为空,则此新权限为 null。</returns>
        /// <param name="target">要与当前权限相交的权限。它必须与当前权限属于同一类型。</param>
        /// <exception cref="T:System.ArgumentException">
        /// <paramref name="target" /> 参数不是 null,而且与当前权限不是同一类型。</exception>
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return((IPermission)null);
            }
            if (!this.VerifyType(target))
            {
                throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", (object)this.GetType().FullName));
            }
            FileDialogPermissionAccess access = this.access & ((FileDialogPermission)target).Access;

            if (access == FileDialogPermissionAccess.None)
            {
                return((IPermission)null);
            }
            return((IPermission) new FileDialogPermission(access));
        }
コード例 #16
0
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return(null);
            }
            if (!base.VerifyType(target))
            {
                throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", new object[] { base.GetType().FullName }));
            }
            FileDialogPermission       permission = (FileDialogPermission)target;
            FileDialogPermissionAccess access     = this.access & permission.Access;

            if (access == FileDialogPermissionAccess.None)
            {
                return(null);
            }
            return(new FileDialogPermission(access));
        }
コード例 #17
0
		public override void FromXml (SecurityElement esd) 
		{
			// General validation in CodeAccessPermission
			CheckSecurityElement (esd, "esd", version, version);
			// Note: we do not (yet) care about the return value 
			// as we only accept version 1 (min/max values)

			if (IsUnrestricted (esd)) {
				_access = FileDialogPermissionAccess.OpenSave;
			}
			else {
				string a = esd.Attribute ("Access");
				if (a == null)
					_access = FileDialogPermissionAccess.None;
				else {
					_access = (FileDialogPermissionAccess) Enum.Parse (
						typeof (FileDialogPermissionAccess), a);
				}
			}
		}
コード例 #18
0
 /// <summary>Reconstructs a permission with a specified state from an XML encoding.</summary>
 /// <param name="esd">The XML encoding used to reconstruct the permission. </param>
 /// <exception cref="T:System.ArgumentNullException">The <paramref name="esd" /> parameter is null. </exception>
 /// <exception cref="T:System.ArgumentException">The <paramref name="esd" /> parameter is not a valid permission element.-or- The version number of the <paramref name="esd" /> parameter is not supported. </exception>
 public override void FromXml(SecurityElement esd)
 {
     CodeAccessPermission.CheckSecurityElement(esd, "esd", 1, 1);
     if (CodeAccessPermission.IsUnrestricted(esd))
     {
         this._access = FileDialogPermissionAccess.OpenSave;
     }
     else
     {
         string text = esd.Attribute("Access");
         if (text == null)
         {
             this._access = FileDialogPermissionAccess.None;
         }
         else
         {
             this._access = (FileDialogPermissionAccess)((int)Enum.Parse(typeof(FileDialogPermissionAccess), text));
         }
     }
 }
コード例 #19
0
        /// <summary>Creates and returns a new <see cref="T:System.Security.Permissions.FileDialogPermission" />.</summary>
        /// <returns>A <see cref="T:System.Security.Permissions.FileDialogPermission" /> that corresponds to this attribute.</returns>
        public override IPermission CreatePermission()
        {
            FileDialogPermission result;

            if (base.Unrestricted)
            {
                result = new FileDialogPermission(PermissionState.Unrestricted);
            }
            else
            {
                FileDialogPermissionAccess fileDialogPermissionAccess = FileDialogPermissionAccess.None;
                if (this.canOpen)
                {
                    fileDialogPermissionAccess |= FileDialogPermissionAccess.Open;
                }
                if (this.canSave)
                {
                    fileDialogPermissionAccess |= FileDialogPermissionAccess.Save;
                }
                result = new FileDialogPermission(fileDialogPermissionAccess);
            }
            return(result);
        }
        // Methods
        public override IPermission CreatePermission()
        {
            FileDialogPermission perm = null;

            if (this.Unrestricted)
            {
                perm = new FileDialogPermission(PermissionState.Unrestricted);
            }
            else
            {
                FileDialogPermissionAccess access = FileDialogPermissionAccess.None;
                if (canOpen)
                {
                    access |= FileDialogPermissionAccess.Open;
                }
                if (canSave)
                {
                    access |= FileDialogPermissionAccess.Save;
                }
                perm = new FileDialogPermission(access);
            }
            return(perm);
        }
コード例 #21
0
        /// <include file='doc\FileDialogPermission.uex' path='docs/doc[@for="FileDialogPermission.Intersect"]/*' />
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return(null);
            }
            else if (!VerifyType(target))
            {
                throw new ArgumentException(String.Format(Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName));
            }

            FileDialogPermission operand = (FileDialogPermission)target;

            FileDialogPermissionAccess intersectAccess = access & operand.Access;

            if (intersectAccess == FileDialogPermissionAccess.None)
            {
                return(null);
            }
            else
            {
                return(new FileDialogPermission(intersectAccess));
            }
        }
コード例 #22
0
 public FileDialogPermission(FileDialogPermissionAccess flags)
 {
     this.flags = flags;
 }
コード例 #23
0
 /// <summary>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileDialogPermission" /> class with the specified access.</summary><param name="access">A bitwise combination of the <see cref="T:System.Security.Permissions.FileDialogPermissionAccess" /> values. </param><exception cref="T:System.ArgumentException">The <paramref name="access" /> parameter is not a valid combination of the <see cref="T:System.Security.Permissions.FileDialogPermissionAccess" /> values. </exception>
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
     throw new NotImplementedException();
 }
コード例 #24
0
 private void Reset()
 {
     this.access = FileDialogPermissionAccess.None;
 }
コード例 #25
0
	// Constructor.
	public FileDialogPermission(PermissionState state)
			{
				this.state = state;
				this.flags = FileDialogPermissionAccess.OpenSave;
			}
コード例 #26
0
	public FileDialogPermission(FileDialogPermissionAccess flags)
			{
				this.flags = flags;
			}
コード例 #27
0
 void Reset() {
     access = FileDialogPermissionAccess.None;
 }
コード例 #28
0
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
 }
コード例 #29
0
 static void VerifyAccess(FileDialogPermissionAccess access) {
     if ((access & ~FileDialogPermissionAccess.OpenSave) != 0 ) {
         throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Arg_EnumIllegalVal"), (int)access));
     }
 }
コード例 #30
0
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
     // reuse validation by the Flags property
     Access = access;
 }
        public FileDialogPermission (FileDialogPermissionAccess access) {

          return default(FileDialogPermission);
        }
 private static void VerifyAccess(FileDialogPermissionAccess access)
 {
     if ((access & ~FileDialogPermissionAccess.OpenSave) != FileDialogPermissionAccess.None)
     {
         throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", new object[] { (int) access }));
     }
 }
コード例 #33
0
 public FileDialogPermission(FileDialogPermissionAccess access) {
     VerifyAccess(access);
     this.access = access;
 }
コード例 #34
0
 static void VerifyAccess(FileDialogPermissionAccess access) {
     if ((access & ~FileDialogPermissionAccess.OpenSave) != 0 ) {
         throw new ArgumentException(Environment.GetResourceString("Arg_EnumIllegalVal", (int)access));
     }
     Contract.EndContractBlock();
 }
コード例 #35
0
 void SetUnrestricted( bool unrestricted ) {
     if (unrestricted) {
         access = FileDialogPermissionAccess.OpenSave;
     }
 }
コード例 #36
0
 // Constructor.
 public FileDialogPermission(PermissionState state)
 {
     this.state = state;
     this.flags = FileDialogPermissionAccess.OpenSave;
 }
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
     return(default(FileDialogPermission));
 }
 private void Reset()
 {
     this.access = FileDialogPermissionAccess.None;
 }
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
 }
コード例 #40
0
		public FileDialogPermission (FileDialogPermissionAccess access)
		{
			// reuse validation by the Flags property
			Access = access;
		}
コード例 #41
0
 /// <summary>Initializes a new instance of the <see cref="T:System.Security.Permissions.FileDialogPermission" /> class with the specified access.</summary>
 /// <param name="access">A bitwise combination of the <see cref="T:System.Security.Permissions.FileDialogPermissionAccess" /> values. </param>
 /// <exception cref="T:System.ArgumentException">The <paramref name="access" /> parameter is not a valid combination of the <see cref="T:System.Security.Permissions.FileDialogPermissionAccess" /> values. </exception>
 public FileDialogPermission(FileDialogPermissionAccess access)
 {
     this.Access = access;
 }