Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- EFTableProvider.cs
- AddressUtility.cs
- SelfIssuedAuthProofToken.cs
- Rule.cs
- DependentList.cs
- WebScriptServiceHostFactory.cs
- ControlBuilder.cs
- WindowsTokenRoleProvider.cs
- TreeViewEvent.cs
- LongValidator.cs
- CalculatedColumn.cs
- TableItemPatternIdentifiers.cs
- TaiwanCalendar.cs
- TargetInvocationException.cs
- RulePatternOps.cs
- SessionPageStatePersister.cs
- ValueTypeFieldReference.cs
- DataPagerFieldCommandEventArgs.cs
- NativeMethods.cs
- SplashScreenNativeMethods.cs
- PrinterUnitConvert.cs
- RootProjectionNode.cs
- CompositeFontParser.cs
- NGCSerializerAsync.cs
- BindingCollection.cs
- HtmlCalendarAdapter.cs
- TrackingLocationCollection.cs
- TabOrder.cs
- HostedTcpTransportManager.cs
- LoaderAllocator.cs
- WorkflowCompensationBehavior.cs
- DateTimeConverter2.cs
- SecurityKeyIdentifier.cs
- UICuesEvent.cs
- DbProviderManifest.cs
- MexServiceChannelBuilder.cs
- FtpCachePolicyElement.cs
- DeferredReference.cs
- ChannelSettingsElement.cs
- DataGridTable.cs
- ApplicationSecurityInfo.cs
- SourceElementsCollection.cs
- MsmqMessage.cs
- RadioButton.cs
- DbSource.cs
- HtmlTableCell.cs
- ObjectQueryExecutionPlan.cs
- DataGridViewComboBoxColumn.cs
- TraceLog.cs
- HwndStylusInputProvider.cs
- Error.cs
- RootBuilder.cs
- SettingsProviderCollection.cs
- ParseHttpDate.cs
- BitStream.cs
- XmlSchemaIdentityConstraint.cs
- FormViewModeEventArgs.cs
- objectresult_tresulttype.cs
- ElementsClipboardData.cs
- CustomAttribute.cs
- SqlProfileProvider.cs
- CombinedGeometry.cs
- ToolboxComponentsCreatedEventArgs.cs
- SafeArrayRankMismatchException.cs
- Configuration.cs
- MetadataExchangeClient.cs
- FontNamesConverter.cs
- SrgsSemanticInterpretationTag.cs
- ComplexBindingPropertiesAttribute.cs
- FileDataSourceCache.cs
- FloaterBaseParagraph.cs
- XmlWellformedWriter.cs
- WindowsIPAddress.cs
- StrokeIntersection.cs
- ListViewAutomationPeer.cs
- WebPartCatalogCloseVerb.cs
- SubclassTypeValidatorAttribute.cs
- TextAnchor.cs
- DataColumnCollection.cs
- storepermissionattribute.cs
- DataGridViewElement.cs
- CancelEventArgs.cs
- ErrorWebPart.cs
- ContextDataSourceView.cs
- TabRenderer.cs
- TextEditorCopyPaste.cs
- Registry.cs
- MetadataArtifactLoaderFile.cs
- CodeArrayIndexerExpression.cs
- UrlPath.cs
- SystemColors.cs
- DataRowExtensions.cs
- Tablet.cs
- AutoGeneratedField.cs
- SizeF.cs
- RelationshipConverter.cs
- Triangle.cs
- WindowsSysHeader.cs
- AudioStateChangedEventArgs.cs
- HasCopySemanticsAttribute.cs