Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Base / System / IO / Packaging / RightsManagementInformation.cs / 1 / RightsManagementInformation.cs
//------------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// This class represents the rights-management information stored in an
// EncryptedPackageEnvelope. Specifically, it represents the PublishLicense and the
// UseLicenses stored in the compound file that embodies the RM protected Package.
//
// History:
// 06/06/2005: LGolding: Initial implementation.
//
//-----------------------------------------------------------------------------
using System.Collections.Generic;
using System.Security.RightsManagement;
using MS.Internal.IO.Packaging.CompoundFile;
namespace System.IO.Packaging
{
///
/// This class represents the rights-management information stored in an
/// EncryptedPackageEnvelope. Specifically, it represents the PublishLicense and the
/// UseLicenses stored in the compound file that embodies the RM protected Package.
///
public class RightsManagementInformation
{
///
/// Internal constructor, called by EncryptedPackageEnvelope.Create or EncryptedPackageEnvelope.Open.
///
internal
RightsManagementInformation(
RightsManagementEncryptionTransform rmet
)
{
_rmet = rmet;
}
///
/// This property represents the object that determines what operations the current
/// user is allowed to perform on the encrypted content.
///
public CryptoProvider CryptoProvider
{
get
{
return _rmet.CryptoProvider;
}
set
{
_rmet.CryptoProvider = value;
}
}
///
/// Read the publish license from the RM transform's primary instance data stream.
///
///
/// The publish license, or null if the compound file does not contain a publish
/// license (as it will not, for example, when the compound file is first created).
///
///
/// If the stream is corrupt, or if the RM instance data in this file cannot be
/// read by the current version of this class.
///
public PublishLicense LoadPublishLicense()
{
return _rmet.LoadPublishLicense();
}
///
/// Save the publish license to the RM transform's instance data stream.
///
///
/// The publish licence to be saved. The RM server returns a publish license as a string.
///
///
/// The stream is rewritten from the beginning, so any existing publish license is
/// overwritten.
///
///
/// If is null.
///
///
/// If the existing RM instance data in this file cannot be updated by the current version
/// of this class.
///
///
/// If the transform settings are fixed.
///
public void SavePublishLicense(PublishLicense publishLicense)
{
_rmet.SavePublishLicense(publishLicense);
}
///
/// Load a use license for the specified user from the RM transform's instance data
/// storage in the compound file.
///
///
/// The user whose use license is desired.
///
///
/// The use license for the specified user, or null if the compound file does not
/// contain a use license for the specified user.
///
///
/// If is null.
///
///
/// If the RM information in this file cannot be read by the current version of
/// this class.
///
public UseLicense LoadUseLicense(ContentUser userKey)
{
return _rmet.LoadUseLicense(userKey);
}
///
/// Save a use license for the specified user into the RM transform's instance data
/// storage in the compound file.
///
///
/// The user to whom the use license was issued.
///
///
/// The use license issued to that user.
///
///
/// Any existing use license for the specified user is removed from the compound
/// file before the new use license is saved.
///
///
/// If or is null.
///
///
/// If the RM information in this file cannot be written by the current version of
/// this class.
///
public void SaveUseLicense(ContentUser userKey, UseLicense useLicense)
{
_rmet.SaveUseLicense(userKey, useLicense);
}
///
/// Delete the use license for the specified user from the RM transform's instance
/// data storage in the compound file.
///
///
/// The user whose use license is to be deleted.
///
///
/// If is null.
///
///
/// If the RM information in this file cannot be updated by the current version of
/// this class.
///
public void DeleteUseLicense(ContentUser userKey)
{
_rmet.DeleteUseLicense(userKey);
}
///
/// This method retrieves a reference to a dictionary with keys of type User and values
/// of type UseLicense, containing one entry for each use license embedded in the compound
/// file for this particular transform instance. The collection is a snapshot of the use
/// licenses in the compound file at the time of the call. The term "Embedded" in the method
/// name emphasizes that the dictionary returned by this method only includes those use
/// licenses that are embedded in the compound file. It does not include any other use
/// licenses that the application might have acquired from an RM server but not yet embedded
/// into the compound file.
///
public IDictionary GetEmbeddedUseLicenses()
{
return _rmet.GetEmbeddedUseLicenses();
}
private RightsManagementEncryptionTransform _rmet;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// This class represents the rights-management information stored in an
// EncryptedPackageEnvelope. Specifically, it represents the PublishLicense and the
// UseLicenses stored in the compound file that embodies the RM protected Package.
//
// History:
// 06/06/2005: LGolding: Initial implementation.
//
//-----------------------------------------------------------------------------
using System.Collections.Generic;
using System.Security.RightsManagement;
using MS.Internal.IO.Packaging.CompoundFile;
namespace System.IO.Packaging
{
///
/// This class represents the rights-management information stored in an
/// EncryptedPackageEnvelope. Specifically, it represents the PublishLicense and the
/// UseLicenses stored in the compound file that embodies the RM protected Package.
///
public class RightsManagementInformation
{
///
/// Internal constructor, called by EncryptedPackageEnvelope.Create or EncryptedPackageEnvelope.Open.
///
internal
RightsManagementInformation(
RightsManagementEncryptionTransform rmet
)
{
_rmet = rmet;
}
///
/// This property represents the object that determines what operations the current
/// user is allowed to perform on the encrypted content.
///
public CryptoProvider CryptoProvider
{
get
{
return _rmet.CryptoProvider;
}
set
{
_rmet.CryptoProvider = value;
}
}
///
/// Read the publish license from the RM transform's primary instance data stream.
///
///
/// The publish license, or null if the compound file does not contain a publish
/// license (as it will not, for example, when the compound file is first created).
///
///
/// If the stream is corrupt, or if the RM instance data in this file cannot be
/// read by the current version of this class.
///
public PublishLicense LoadPublishLicense()
{
return _rmet.LoadPublishLicense();
}
///
/// Save the publish license to the RM transform's instance data stream.
///
///
/// The publish licence to be saved. The RM server returns a publish license as a string.
///
///
/// The stream is rewritten from the beginning, so any existing publish license is
/// overwritten.
///
///
/// If is null.
///
///
/// If the existing RM instance data in this file cannot be updated by the current version
/// of this class.
///
///
/// If the transform settings are fixed.
///
public void SavePublishLicense(PublishLicense publishLicense)
{
_rmet.SavePublishLicense(publishLicense);
}
///
/// Load a use license for the specified user from the RM transform's instance data
/// storage in the compound file.
///
///
/// The user whose use license is desired.
///
///
/// The use license for the specified user, or null if the compound file does not
/// contain a use license for the specified user.
///
///
/// If is null.
///
///
/// If the RM information in this file cannot be read by the current version of
/// this class.
///
public UseLicense LoadUseLicense(ContentUser userKey)
{
return _rmet.LoadUseLicense(userKey);
}
///
/// Save a use license for the specified user into the RM transform's instance data
/// storage in the compound file.
///
///
/// The user to whom the use license was issued.
///
///
/// The use license issued to that user.
///
///
/// Any existing use license for the specified user is removed from the compound
/// file before the new use license is saved.
///
///
/// If or is null.
///
///
/// If the RM information in this file cannot be written by the current version of
/// this class.
///
public void SaveUseLicense(ContentUser userKey, UseLicense useLicense)
{
_rmet.SaveUseLicense(userKey, useLicense);
}
///
/// Delete the use license for the specified user from the RM transform's instance
/// data storage in the compound file.
///
///
/// The user whose use license is to be deleted.
///
///
/// If is null.
///
///
/// If the RM information in this file cannot be updated by the current version of
/// this class.
///
public void DeleteUseLicense(ContentUser userKey)
{
_rmet.DeleteUseLicense(userKey);
}
///
/// This method retrieves a reference to a dictionary with keys of type User and values
/// of type UseLicense, containing one entry for each use license embedded in the compound
/// file for this particular transform instance. The collection is a snapshot of the use
/// licenses in the compound file at the time of the call. The term "Embedded" in the method
/// name emphasizes that the dictionary returned by this method only includes those use
/// licenses that are embedded in the compound file. It does not include any other use
/// licenses that the application might have acquired from an RM server but not yet embedded
/// into the compound file.
///
public IDictionary GetEmbeddedUseLicenses()
{
return _rmet.GetEmbeddedUseLicenses();
}
private RightsManagementEncryptionTransform _rmet;
}
}
// 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
- PrintEvent.cs
- GenericEnumConverter.cs
- XmlSchemaSubstitutionGroup.cs
- XmlSchemaExporter.cs
- CustomTypeDescriptor.cs
- Perspective.cs
- WS2007HttpBinding.cs
- Soap11ServerProtocol.cs
- Error.cs
- EasingKeyFrames.cs
- BasicHttpSecurityMode.cs
- XamlFrame.cs
- XamlToRtfWriter.cs
- EntitySet.cs
- Constraint.cs
- BamlLocalizableResourceKey.cs
- ClosableStream.cs
- XmlSchemaComplexContentRestriction.cs
- SimpleLine.cs
- AssemblyAttributesGoHere.cs
- LinkArea.cs
- TreeViewTemplateSelector.cs
- SmuggledIUnknown.cs
- TimeSpan.cs
- PublishLicense.cs
- ellipse.cs
- BamlRecordWriter.cs
- DataBinding.cs
- SequentialOutput.cs
- SoundPlayer.cs
- HMACSHA256.cs
- SiteMapProvider.cs
- CommandField.cs
- ModelItemKeyValuePair.cs
- Triangle.cs
- WbemException.cs
- HelpOperationInvoker.cs
- CheckoutException.cs
- DynamicDiscoveryDocument.cs
- LocatorGroup.cs
- CollectionTypeElement.cs
- GifBitmapEncoder.cs
- SecurityTokenContainer.cs
- AttributeAction.cs
- ExtensionSurface.cs
- FilteredSchemaElementLookUpTable.cs
- XmlIlVisitor.cs
- TypeExtension.cs
- __ConsoleStream.cs
- ProtocolsConfigurationHandler.cs
- WindowsAltTab.cs
- OleDbConnectionFactory.cs
- ExceptionTranslationTable.cs
- HtmlAnchor.cs
- DataBindingCollectionConverter.cs
- CharacterBufferReference.cs
- ContractComponent.cs
- Inline.cs
- DocumentViewerConstants.cs
- Resources.Designer.cs
- HttpPostedFile.cs
- DiscoveryServiceExtension.cs
- XmlTypeAttribute.cs
- InternalSendMessage.cs
- ApplicationBuildProvider.cs
- HostingPreferredMapPath.cs
- Byte.cs
- TitleStyle.cs
- MULTI_QI.cs
- AllMembershipCondition.cs
- DatagridviewDisplayedBandsData.cs
- ClientUriBehavior.cs
- XamlPoint3DCollectionSerializer.cs
- HtmlWindowCollection.cs
- WebServiceAttribute.cs
- Expander.cs
- SystemShuttingDownException.cs
- SiteMapPath.cs
- DefaultObjectSerializer.cs
- ButtonChrome.cs
- CodeAttributeDeclarationCollection.cs
- GroupBoxRenderer.cs
- ConfigXmlAttribute.cs
- Vector3DAnimationUsingKeyFrames.cs
- SystemIcmpV6Statistics.cs
- BufferAllocator.cs
- AuthenticationConfig.cs
- GeometryDrawing.cs
- ToolBarButton.cs
- ResponseStream.cs
- DES.cs
- ActionNotSupportedException.cs
- XmlILStorageConverter.cs
- SmiEventStream.cs
- RequestCacheEntry.cs
- UnionCqlBlock.cs
- securitycriticaldata.cs
- DataSourceView.cs
- FolderLevelBuildProvider.cs
- PolyQuadraticBezierSegment.cs