// 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(S._("Arg_PermissionVersion"));
				}
				value = esd.Attribute("Unrestricted");
				if(value != null && Boolean.Parse(value))
				{
					state = PermissionState.Unrestricted;
				}
				else
				{
					state = PermissionState.None;
				}
				value = esd.Attribute("Level");
				if(value != null)
				{
					level = (PrintingPermissionLevel)
						Enum.Parse(typeof(PrintingPermissionLevel), value);
				}
				else
				{
					level = PrintingPermissionLevel.NoPrinting;
				}
			}
 public override void FromXml(SecurityElement esd)
 {
     if (esd == null)
     {
         throw new ArgumentNullException("esd");
     }
     string str = esd.Attribute("class");
     if ((str == null) || (str.IndexOf(base.GetType().FullName) == -1))
     {
         throw new ArgumentException(System.Drawing.SR.GetString("InvalidClassName"));
     }
     string a = esd.Attribute("Unrestricted");
     if ((a != null) && string.Equals(a, "true", StringComparison.OrdinalIgnoreCase))
     {
         this.printingLevel = PrintingPermissionLevel.AllPrinting;
     }
     else
     {
         this.printingLevel = PrintingPermissionLevel.NoPrinting;
         string str3 = esd.Attribute("Level");
         if (str3 != null)
         {
             this.printingLevel = (PrintingPermissionLevel) Enum.Parse(typeof(PrintingPermissionLevel), str3);
         }
     }
 }
예제 #3
0
 public PrintingPermission(PermissionState state)
 {
     if (CheckPermissionState(state, true) == PermissionState.Unrestricted)
     {
         _Level = PrintingPermissionLevel.AllPrinting;
     }
 }
예제 #4
0
 private static void VerifyPrintingLevel(PrintingPermissionLevel level)
 {
     if (level < PrintingPermissionLevel.NoPrinting || level > PrintingPermissionLevel.AllPrinting)
     {
         throw new ArgumentException(SR.Format(SR.InvalidPermissionLevel));
     }
 }
예제 #5
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(S._("Arg_PermissionVersion"));
            }
            value = esd.Attribute("Unrestricted");
            if (value != null && Boolean.Parse(value))
            {
                state = PermissionState.Unrestricted;
            }
            else
            {
                state = PermissionState.None;
            }
            value = esd.Attribute("Level");
            if (value != null)
            {
                level = (PrintingPermissionLevel)
                        Enum.Parse(typeof(PrintingPermissionLevel), value);
            }
            else
            {
                level = PrintingPermissionLevel.NoPrinting;
            }
        }
예제 #6
0
        }// PutValuesinPage

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

            if (m_radUnrestricted.Checked == true)
            {
                perm = new PrintingPermission(PermissionState.Unrestricted);
            }
            else
            {
                perm = new PrintingPermission(PermissionState.None);
                PrintingPermissionLevel ppl = PrintingPermissionLevel.NoPrinting;
                if (m_cbOptions.SelectedIndex == 1)
                {
                    ppl = PrintingPermissionLevel.SafePrinting;
                }
                else if (m_cbOptions.SelectedIndex == 2)
                {
                    ppl = PrintingPermissionLevel.DefaultPrinting;
                }
                else if (m_cbOptions.SelectedIndex == 3)
                {
                    ppl = PrintingPermissionLevel.AllPrinting;
                }

                perm.Level = ppl;
            }
            return(perm);
        } // GetCurrentPermission
        public override void FromXml(SecurityElement esd)
        {
            if (esd == null)
            {
                throw new ArgumentNullException("esd");
            }
            string str = esd.Attribute("class");

            if ((str == null) || (str.IndexOf(base.GetType().FullName) == -1))
            {
                throw new ArgumentException(System.Drawing.SR.GetString("InvalidClassName"));
            }
            string a = esd.Attribute("Unrestricted");

            if ((a != null) && string.Equals(a, "true", StringComparison.OrdinalIgnoreCase))
            {
                this.printingLevel = PrintingPermissionLevel.AllPrinting;
            }
            else
            {
                this.printingLevel = PrintingPermissionLevel.NoPrinting;
                string str3 = esd.Attribute("Level");
                if (str3 != null)
                {
                    this.printingLevel = (PrintingPermissionLevel)Enum.Parse(typeof(PrintingPermissionLevel), str3);
                }
            }
        }
        public void Level_PrintingPermissionLevels_Bad()
        {
            PrintingPermissionLevel ppl = (PrintingPermissionLevel)(PrintingPermissionLevel.AllPrinting + 1);
            PrintingPermission      pp  = new PrintingPermission(PermissionState.None);

            pp.Level = ppl;
        }
 private static void VerifyPrintingLevel(PrintingPermissionLevel level)
 {
     if ((level < PrintingPermissionLevel.NoPrinting) || (level > PrintingPermissionLevel.AllPrinting))
     {
         throw new ArgumentException(System.Drawing.SR.GetString("InvalidPermissionLevel"));
     }
 }
예제 #10
0
        public override void FromXml(SecurityElement esd)
        {
            if (esd == null)
            {
                throw new ArgumentNullException("esd");
            }

            String className = esd.Attribute("class");

            if (className == null || className.IndexOf(this.GetType().FullName) == -1)
            {
                throw new ArgumentException(SR.Format(SR.InvalidClassName));
            }

            String unrestricted = esd.Attribute("Unrestricted");

            if (unrestricted != null && String.Equals(unrestricted, "true", StringComparison.OrdinalIgnoreCase))
            {
                printingLevel = PrintingPermissionLevel.AllPrinting;
                return;
            }

            printingLevel = PrintingPermissionLevel.NoPrinting;

            String printing = esd.Attribute("Level");

            if (printing != null)
            {
                printingLevel = (PrintingPermissionLevel)Enum.Parse(typeof(PrintingPermissionLevel), printing);
            }
        }
예제 #11
0
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.FromXml"]/*' />
        /// <devdoc>
        ///    <para>Reconstructs a security object with a specified state from an XML
        ///       encoding.</para>
        /// </devdoc>
        public override void FromXml(SecurityElement esd)
        {
            if (esd == null)
            {
                throw new ArgumentNullException("esd");
            }

            String className = esd.Attribute("class");

            if (className == null || className.IndexOf(this.GetType().FullName) == -1)
            {
                throw new ArgumentException(SR.GetString(SR.InvalidClassName));
            }

            String unrestricted = esd.Attribute("Unrestricted");

            if (unrestricted != null && String.Compare(unrestricted, "true", true, CultureInfo.InvariantCulture) == 0)
            {
                printingLevel = PrintingPermissionLevel.AllPrinting;
                return;
            }

            printingLevel = PrintingPermissionLevel.NoPrinting;

            String printing = esd.Attribute("Level");

            if (printing != null)
            {
                printingLevel = (PrintingPermissionLevel)Enum.Parse(typeof(PrintingPermissionLevel), printing);
            }
            else
            {
                throw new ArgumentException("esd");     // bad XML
            }
        }
 public void PrintingPermissionLevels_Bad()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         PrintingPermissionLevel ppl = (PrintingPermissionLevel)(PrintingPermissionLevel.AllPrinting + 1);
         PrintingPermission pp       = new PrintingPermission(ppl);
     });
 }
 public void Level_PrintingPermissionLevels_Bad()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         PrintingPermissionLevel ppl = (PrintingPermissionLevel)(PrintingPermissionLevel.AllPrinting + 1);
         PrintingPermission pp       = new PrintingPermission(PermissionState.None);
         pp.Level = ppl;
     });
 }
 /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.PrintingPermission"]/*' />
 /// <devdoc>
 /// <para>Initializes a new instance of the PrintingPermission class with either fully restricted
 ///    or unrestricted access, as specified.</para>
 /// </devdoc>
 public PrintingPermission(PermissionState state) {
     if (state == PermissionState.Unrestricted) {
         printingLevel = PrintingPermissionLevel.AllPrinting;
     }
     else if (state == PermissionState.None) {
         printingLevel = PrintingPermissionLevel.NoPrinting;
     }
     else {
         throw new ArgumentException(SR.GetString(SR.InvalidPermissionState));
     }
 }    
예제 #15
0
        public override IPermission Intersect(IPermission target)
        {
            PrintingPermission pp = Cast(target);

            if ((pp == null) || IsEmpty() || pp.IsEmpty())
            {
                return(null);
            }

            PrintingPermissionLevel level = (_Level <= pp.Level) ? _Level : pp.Level;

            return(new PrintingPermission(level));
        }
예제 #16
0
 /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.PrintingPermission"]/*' />
 /// <devdoc>
 /// <para>Initializes a new instance of the PrintingPermission class with either fully restricted
 ///    or unrestricted access, as specified.</para>
 /// </devdoc>
 public PrintingPermission(PermissionState state)
 {
     if (state == PermissionState.Unrestricted)
     {
         printingLevel = PrintingPermissionLevel.AllPrinting;
     }
     else if (state == PermissionState.None)
     {
         printingLevel = PrintingPermissionLevel.NoPrinting;
     }
     else
     {
         throw new ArgumentException(SR.Format(SR.InvalidPermissionState));
     }
 }
 public PrintingPermission(PermissionState state)
 {
     if (state == PermissionState.Unrestricted)
     {
         this.printingLevel = PrintingPermissionLevel.AllPrinting;
     }
     else
     {
         if (state != PermissionState.None)
         {
             throw new ArgumentException(System.Drawing.SR.GetString("InvalidPermissionState"));
         }
         this.printingLevel = PrintingPermissionLevel.NoPrinting;
     }
 }
 public PrintingPermission(PermissionState state)
 {
     if (state == PermissionState.Unrestricted)
     {
         this.printingLevel = PrintingPermissionLevel.AllPrinting;
     }
     else
     {
         if (state != PermissionState.None)
         {
             throw new ArgumentException(System.Drawing.SR.GetString("InvalidPermissionState"));
         }
         this.printingLevel = PrintingPermissionLevel.NoPrinting;
     }
 }
예제 #19
0
		public override void FromXml (SecurityElement esd)
		{
			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))
				_Level = PrintingPermissionLevel.AllPrinting;
			else {
				string level = esd.Attribute ("Level");
				if (level != null) {
					_Level = (PrintingPermissionLevel) Enum.Parse (
						typeof (PrintingPermissionLevel), level);
				}
				else
					_Level = PrintingPermissionLevel.NoPrinting;
			}
		}
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return(null);
            }
            PrintingPermission permission = target as PrintingPermission;

            if (permission == null)
            {
                throw new ArgumentException(System.Drawing.SR.GetString("TargetNotPrintingPermission"));
            }
            PrintingPermissionLevel printingLevel = (this.printingLevel < permission.printingLevel) ? this.printingLevel : permission.printingLevel;

            if (printingLevel == PrintingPermissionLevel.NoPrinting)
            {
                return(null);
            }
            return(new PrintingPermission(printingLevel));
        }
예제 #21
0
        public override IPermission Union(IPermission target)
        {
            PrintingPermission pp = Cast(target);

            if (pp == null)
            {
                return(new PrintingPermission(_Level));
            }
            if (IsUnrestricted() || pp.IsUnrestricted())
            {
                return(new PrintingPermission(PrintingPermissionLevel.AllPrinting));
            }
            if (IsEmpty() && pp.IsEmpty())
            {
                return(null);
            }

            PrintingPermissionLevel level = (_Level > pp.Level) ? _Level : pp.Level;

            return(new PrintingPermission(level));
        }
예제 #22
0
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.Union"]/*' />
        /// <devdoc>
        ///    <para>Creates a permission that is the union of the permission object
        ///       and the target parameter permission object.</para>
        /// </devdoc>
        public override IPermission Union(IPermission target)
        {
            if (target == null)
            {
                return(this.Copy());
            }

            try {
                PrintingPermission      operand     = (PrintingPermission)target;
                PrintingPermissionLevel isectLevels = printingLevel > operand.printingLevel ? printingLevel : operand.printingLevel;
                if (isectLevels == PrintingPermissionLevel.NoPrinting)
                {
                    return(null);
                }
                else
                {
                    return(new PrintingPermission(isectLevels));
                }
            }
            catch (InvalidCastException) {
                throw new ArgumentException(SR.GetString(SR.TargetNotPrintingPermission));
            }
        }
예제 #23
0
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.Intersect"]/*' />
        /// <devdoc>
        ///    <para>Creates and returns a permission that is the intersection of the current
        ///       permission object and a target permission object.</para>
        /// </devdoc>
        public override IPermission Intersect(IPermission target)
        {
            if (target == null)
            {
                return(null);
            }

            PrintingPermission operand = target as PrintingPermission;

            if (operand == null)
            {
                throw new ArgumentException(SR.GetString(SR.TargetNotPrintingPermission));
            }
            PrintingPermissionLevel isectLevels = printingLevel < operand.printingLevel ? printingLevel : operand.printingLevel;

            if (isectLevels == PrintingPermissionLevel.NoPrinting)
            {
                return(null);
            }
            else
            {
                return(new PrintingPermission(isectLevels));
            }
        }
예제 #24
0
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.Union"]/*' />
        /// <devdoc>
        ///    <para>Creates a permission that is the union of the permission object
        ///       and the target parameter permission object.</para>
        /// </devdoc>
        public override IPermission Union(IPermission target)
        {
            if (target == null)
            {
                return(this.Copy());
            }

            PrintingPermission operand = target as PrintingPermission;

            if (operand == null)
            {
                throw new ArgumentException(SR.Format(SR.TargetNotPrintingPermission));
            }
            PrintingPermissionLevel isectLevels = printingLevel > operand.printingLevel ? printingLevel : operand.printingLevel;

            if (isectLevels == PrintingPermissionLevel.NoPrinting)
            {
                return(null);
            }
            else
            {
                return(new PrintingPermission(isectLevels));
            }
        }
예제 #25
0
        public override void FromXml(SecurityElement esd)
        {
            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))
            {
                _Level = PrintingPermissionLevel.AllPrinting;
            }
            else
            {
                string level = esd.Attribute("Level");
                if (level != null)
                {
                    _Level = (PrintingPermissionLevel)Enum.Parse(
                        typeof(PrintingPermissionLevel), level);
                }
                else
                {
                    _Level = PrintingPermissionLevel.NoPrinting;
                }
            }
        }
 private static void VerifyPrintingLevel(PrintingPermissionLevel level) {
     if (level < PrintingPermissionLevel.NoPrinting || level > PrintingPermissionLevel.AllPrinting) {
         throw new ArgumentException(SR.GetString(SR.InvalidPermissionLevel));
     }
 }
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.PrintingPermission1"]/*' />
        /// <devdoc>
        ///    <para>[To be supplied.]</para>
        /// </devdoc>
        public PrintingPermission(PrintingPermissionLevel printingLevel) {
            VerifyPrintingLevel(printingLevel);

            this.printingLevel = printingLevel;
        }
	// Constructor.
	public PrintingPermission(PermissionState state)
			{
				this.state = state;
				this.level = PrintingPermissionLevel.NoPrinting;
			}
        public override void FromXml(SecurityElement esd) {
            if (esd == null) {
                throw new ArgumentNullException("esd");
            }

            String className = esd.Attribute("class");

            if (className == null || className.IndexOf(this.GetType().FullName) == -1) {
                throw new ArgumentException(SR.GetString(SR.InvalidClassName));
            }

            String unrestricted = esd.Attribute("Unrestricted");

            if (unrestricted != null && String.Equals(unrestricted, "true", StringComparison.OrdinalIgnoreCase))
            {
                printingLevel = PrintingPermissionLevel.AllPrinting;
                return;
            }

            printingLevel = PrintingPermissionLevel.NoPrinting;

            String printing = esd.Attribute("Level");
            
            if (printing != null)
            {
                printingLevel = (PrintingPermissionLevel)Enum.Parse(typeof(PrintingPermissionLevel), printing);
            }
        }
	public PrintingPermission(PrintingPermissionLevel level)
			{
				this.state = PermissionState.None;
				this.level = level;
			}
예제 #31
0
        /// <include file='doc\PrintingPermission.uex' path='docs/doc[@for="PrintingPermission.PrintingPermission1"]/*' />
        /// <devdoc>
        ///    <para>[To be supplied.]</para>
        /// </devdoc>
        public PrintingPermission(PrintingPermissionLevel printingLevel)
        {
            VerifyPrintingLevel(printingLevel);

            this.printingLevel = printingLevel;
        }
 private static void VerifyPrintingLevel(PrintingPermissionLevel level)
 {
     if ((level < PrintingPermissionLevel.NoPrinting) || (level > PrintingPermissionLevel.AllPrinting))
     {
         throw new ArgumentException(System.Drawing.SR.GetString("InvalidPermissionLevel"));
     }
 }
예제 #33
0
 // Constructor.
 public PrintingPermission(PermissionState state)
 {
     this.state = state;
     this.level = PrintingPermissionLevel.NoPrinting;
 }
예제 #34
0
		public PrintingPermission (PrintingPermissionLevel printingLevel) 
		{
			Level = printingLevel;
		}
예제 #35
0
		public PrintingPermission (PermissionState state) 
		{
			if (CheckPermissionState (state, true) == PermissionState.Unrestricted)
				_Level = PrintingPermissionLevel.AllPrinting;
		}
예제 #36
0
 public PrintingPermission(PrintingPermissionLevel printingLevel)
 {
     Level = printingLevel;
 }
예제 #37
0
 public PrintingPermission(PrintingPermissionLevel level)
 {
     this.state = PermissionState.None;
     this.level = level;
 }
 public void PrintingPermissionLevels_Bad()
 {
     PrintingPermissionLevel ppl = (PrintingPermissionLevel)(PrintingPermissionLevel.AllPrinting + 1);
     PrintingPermission      pp  = new PrintingPermission(ppl);
 }