Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CommonUI / System / Drawing / Printing / PrintingPermission.cs / 1 / PrintingPermission.cs
/*
* Copyright (c) 2000 Microsoft Corporation. All Rights Reserved.
* Microsoft Confidential.
*/
namespace System.Drawing.Printing {
using System;
using System.Security;
using System.Security.Permissions;
using System.IO;
using System.Runtime.Serialization;
using System.Reflection;
using System.Collections;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
///
///
/// Controls the ability to use the printer. This class cannot be inherited.
///
[Serializable]
public sealed class PrintingPermission : CodeAccessPermission, IUnrestrictedPermission {
private PrintingPermissionLevel printingLevel;
///
///
/// Initializes a new instance of the PrintingPermission class with either fully restricted
/// or unrestricted access, as specified.
///
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));
}
}
///
///
/// [To be supplied.]
///
public PrintingPermission(PrintingPermissionLevel printingLevel) {
VerifyPrintingLevel(printingLevel);
this.printingLevel = printingLevel;
}
///
///
/// [To be supplied.]
///
public PrintingPermissionLevel Level {
get {
return printingLevel;
}
set {
VerifyPrintingLevel(value);
printingLevel = value;
}
}
private static void VerifyPrintingLevel(PrintingPermissionLevel level) {
if (level < PrintingPermissionLevel.NoPrinting || level > PrintingPermissionLevel.AllPrinting) {
throw new ArgumentException(SR.GetString(SR.InvalidPermissionLevel));
}
}
//------------------------------------------------------
//
// CODEACCESSPERMISSION IMPLEMENTATION
//
//-----------------------------------------------------
///
///
/// Gets a
/// value indicating whether permission is unrestricted.
///
public bool IsUnrestricted() {
return printingLevel == PrintingPermissionLevel.AllPrinting;
}
//-----------------------------------------------------
//
// IPERMISSION IMPLEMENTATION
//
//-----------------------------------------------------
///
///
/// Determines whether the current permission object is a subset of
/// the specified permission.
///
public override bool IsSubsetOf(IPermission target) {
if (target == null) {
return printingLevel == PrintingPermissionLevel.NoPrinting;
}
PrintingPermission operand = target as PrintingPermission;
if(operand == null) {
throw new ArgumentException(SR.GetString(SR.TargetNotPrintingPermission));
}
return this.printingLevel <= operand.printingLevel;
}
///
///
/// Creates and returns a permission that is the intersection of the current
/// permission object and a target permission object.
///
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);
}
///
///
/// Creates a permission that is the union of the permission object
/// and the target parameter permission object.
///
public override IPermission Union(IPermission target) {
if (target == null) {
return this.Copy();
}
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);
}
///
///
/// Creates and returns an identical copy of the current permission
/// object.
///
[SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")]
public override IPermission Copy() {
return new PrintingPermission(this.printingLevel);
}
///
///
/// Creates an XML encoding of the security object and its current
/// state.
///
public override SecurityElement ToXml() {
SecurityElement securityElement = new SecurityElement("IPermission");
securityElement.AddAttribute("class", this.GetType().FullName + ", " + this.GetType().Module.Assembly.FullName.Replace('\"', '\''));
securityElement.AddAttribute("version", "1");
if (!IsUnrestricted()) {
securityElement.AddAttribute("Level", Enum.GetName(typeof(PrintingPermissionLevel), printingLevel));
}
else {
securityElement.AddAttribute("Unrestricted", "true");
}
return securityElement;
}
///
///
/// Reconstructs a security object with a specified state from an XML
/// encoding.
///
[SuppressMessage("Microsoft.Performance", "CA1808:AvoidCallsThatBoxValueTypes")]
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);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
/*
* Copyright (c) 2000 Microsoft Corporation. All Rights Reserved.
* Microsoft Confidential.
*/
namespace System.Drawing.Printing {
using System;
using System.Security;
using System.Security.Permissions;
using System.IO;
using System.Runtime.Serialization;
using System.Reflection;
using System.Collections;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
///
///
/// Controls the ability to use the printer. This class cannot be inherited.
///
[Serializable]
public sealed class PrintingPermission : CodeAccessPermission, IUnrestrictedPermission {
private PrintingPermissionLevel printingLevel;
///
///
/// Initializes a new instance of the PrintingPermission class with either fully restricted
/// or unrestricted access, as specified.
///
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));
}
}
///
///
/// [To be supplied.]
///
public PrintingPermission(PrintingPermissionLevel printingLevel) {
VerifyPrintingLevel(printingLevel);
this.printingLevel = printingLevel;
}
///
///
/// [To be supplied.]
///
public PrintingPermissionLevel Level {
get {
return printingLevel;
}
set {
VerifyPrintingLevel(value);
printingLevel = value;
}
}
private static void VerifyPrintingLevel(PrintingPermissionLevel level) {
if (level < PrintingPermissionLevel.NoPrinting || level > PrintingPermissionLevel.AllPrinting) {
throw new ArgumentException(SR.GetString(SR.InvalidPermissionLevel));
}
}
//------------------------------------------------------
//
// CODEACCESSPERMISSION IMPLEMENTATION
//
//-----------------------------------------------------
///
///
/// Gets a
/// value indicating whether permission is unrestricted.
///
public bool IsUnrestricted() {
return printingLevel == PrintingPermissionLevel.AllPrinting;
}
//-----------------------------------------------------
//
// IPERMISSION IMPLEMENTATION
//
//-----------------------------------------------------
///
///
/// Determines whether the current permission object is a subset of
/// the specified permission.
///
public override bool IsSubsetOf(IPermission target) {
if (target == null) {
return printingLevel == PrintingPermissionLevel.NoPrinting;
}
PrintingPermission operand = target as PrintingPermission;
if(operand == null) {
throw new ArgumentException(SR.GetString(SR.TargetNotPrintingPermission));
}
return this.printingLevel <= operand.printingLevel;
}
///
///
/// Creates and returns a permission that is the intersection of the current
/// permission object and a target permission object.
///
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);
}
///
///
/// Creates a permission that is the union of the permission object
/// and the target parameter permission object.
///
public override IPermission Union(IPermission target) {
if (target == null) {
return this.Copy();
}
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);
}
///
///
/// Creates and returns an identical copy of the current permission
/// object.
///
[SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")]
public override IPermission Copy() {
return new PrintingPermission(this.printingLevel);
}
///
///
/// Creates an XML encoding of the security object and its current
/// state.
///
public override SecurityElement ToXml() {
SecurityElement securityElement = new SecurityElement("IPermission");
securityElement.AddAttribute("class", this.GetType().FullName + ", " + this.GetType().Module.Assembly.FullName.Replace('\"', '\''));
securityElement.AddAttribute("version", "1");
if (!IsUnrestricted()) {
securityElement.AddAttribute("Level", Enum.GetName(typeof(PrintingPermissionLevel), printingLevel));
}
else {
securityElement.AddAttribute("Unrestricted", "true");
}
return securityElement;
}
///
///
/// Reconstructs a security object with a specified state from an XML
/// encoding.
///
[SuppressMessage("Microsoft.Performance", "CA1808:AvoidCallsThatBoxValueTypes")]
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);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebRequestModuleElement.cs
- SeparatorAutomationPeer.cs
- StringConverter.cs
- BitFlagsGenerator.cs
- Matrix.cs
- Graphics.cs
- DataBindingExpressionBuilder.cs
- WebPartAddingEventArgs.cs
- ClosableStream.cs
- Parameter.cs
- OleDbReferenceCollection.cs
- Int16Animation.cs
- StreamWithDictionary.cs
- ToolStripHighContrastRenderer.cs
- MetaChildrenColumn.cs
- ReadOnlyDataSource.cs
- ExpressionLink.cs
- WebExceptionStatus.cs
- SizeConverter.cs
- WsdlBuildProvider.cs
- SafeProcessHandle.cs
- DoubleLink.cs
- FileSystemInfo.cs
- Matrix3DConverter.cs
- _Semaphore.cs
- ToolStripPanelCell.cs
- UrlMappingCollection.cs
- OpCellTreeNode.cs
- DesignerForm.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- PenLineCapValidation.cs
- NetMsmqSecurityElement.cs
- DesignBindingPropertyDescriptor.cs
- dataSvcMapFileLoader.cs
- ObjectContext.cs
- MultiplexingDispatchMessageFormatter.cs
- Soap12ProtocolReflector.cs
- ServiceObjectContainer.cs
- EncryptedType.cs
- ProcessHostMapPath.cs
- TabItemAutomationPeer.cs
- Mutex.cs
- ListParaClient.cs
- Expressions.cs
- TypeRestriction.cs
- ReferentialConstraintRoleElement.cs
- SimpleApplicationHost.cs
- WebBrowserNavigatedEventHandler.cs
- DrawingGroupDrawingContext.cs
- SafeNativeMethodsCLR.cs
- Vector3DAnimationUsingKeyFrames.cs
- XmlDocumentSurrogate.cs
- ContentOperations.cs
- XmlILIndex.cs
- TemplatePartAttribute.cs
- HierarchicalDataBoundControl.cs
- TheQuery.cs
- Int32CAMarshaler.cs
- TextDecorationLocationValidation.cs
- FileNotFoundException.cs
- BuilderPropertyEntry.cs
- ClockController.cs
- StringOutput.cs
- SmiRecordBuffer.cs
- ReachDocumentPageSerializerAsync.cs
- Configuration.cs
- Stack.cs
- SignerInfo.cs
- StrokeNodeOperations.cs
- DefaultMemberAttribute.cs
- WorkflowNamespace.cs
- MaskedTextBox.cs
- DeferredElementTreeState.cs
- dbdatarecord.cs
- DesignTimeParseData.cs
- RsaKeyIdentifierClause.cs
- CapiHashAlgorithm.cs
- ElementUtil.cs
- ListItemDetailViewAttribute.cs
- ServiceModelPerformanceCounters.cs
- UIPropertyMetadata.cs
- FileInfo.cs
- QueryComponents.cs
- EventProxy.cs
- _ScatterGatherBuffers.cs
- webeventbuffer.cs
- TypographyProperties.cs
- WindowsMenu.cs
- StringFormat.cs
- followingquery.cs
- InstanceDataCollection.cs
- PublishLicense.cs
- RouteValueExpressionBuilder.cs
- AsymmetricCryptoHandle.cs
- NumberFunctions.cs
- TransportOutputChannel.cs
- MasterPageParser.cs
- SmiRecordBuffer.cs
- FolderNameEditor.cs
- FormViewInsertedEventArgs.cs