Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / RightsManagementResourceHelper.cs / 1 / RightsManagementResourceHelper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: // RMResourceHelper is a helper class used to get resources. // // History: // 06/21/05 - [....] created // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Drawing; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.TrustUI; using System.Globalization; // For localization of string conversion using System.Security.Cryptography.X509Certificates; using System.Security.RightsManagement; using System.Security; namespace MS.Internal.Documents { internal sealed class RightsManagementResourceHelper { #region Constructors //----------------------------------------------------- // Constructors //----------------------------------------------------- ////// The constructor /// private RightsManagementResourceHelper() { } #endregion Constructors #region Internal Methods //------------------------------------------------------ // Internal Methods //----------------------------------------------------- ////// GetDocumentLevelResources. /// internal static DocumentStatusResources GetDocumentLevelResources(RightsManagementStatus status) { DocumentStatusResources docStatusResources = new DocumentStatusResources(); // Set appropriate Text and ToolTip values. switch (status) { case (RightsManagementStatus.Protected): docStatusResources.Text = SR.Get(SRID.RMProtected); docStatusResources.ToolTip = SR.Get(SRID.RMAppliedToolTip); break; default: // RightsManagementStatus.Unknown or RightsManagementStatus.Unprotected docStatusResources.Text = String.Empty; docStatusResources.ToolTip = SR.Get(SRID.RMDefaultToolTip); break; } docStatusResources.Image = GetDrawingBrushFromStatus(status); return docStatusResources; } ////// GetCredentialManagementResources. /// /// The user object from which to get resources ////// Critical /// 1) Returns critical information from a user object /// [SecurityCritical] internal static string GetCredentialManagementResources(RightsManagementUser user) { string accountName = null; if (user == null) { throw new ArgumentNullException("user"); } switch (user.AuthenticationType) { case (AuthenticationType.Windows): accountName = String.Format( CultureInfo.CurrentCulture, SR.Get(SRID.RMCredManagementWindowsAccount), user.Name); break; case (AuthenticationType.Passport): accountName = String.Format( CultureInfo.CurrentCulture, SR.Get(SRID.RMCredManagementPassportAccount), user.Name); break; default: accountName = String.Format( CultureInfo.CurrentCulture, SR.Get(SRID.RMCredManagementUnknownAccount), user.Name); break; } return accountName; } #endregion Internal Methods #region Private Methods //-------------------------------------------------------------------------- // Private Methods //-------------------------------------------------------------------------- ////// Get the DrawingBrush icon for the status. /// /// Requested status ///A DrawingBrush on success (valid status, DrawingBrush found), null otherwise. private static DrawingBrush GetDrawingBrushFromStatus(RightsManagementStatus status) { if (_brushResources == null) { // Get the entire list of RightsManagementStatus values. Array statusList = Enum.GetValues(typeof(RightsManagementStatus)); // Construct the array to hold brush references. _brushResources = new DrawingBrush[statusList.Length]; // To find the DrawingBrushes in the theme resources we need a FrameworkElement. // TextBlock was used as it appears to have a very small footprint, and won't // take long to construct. The actual FrameworkElement doesn't matter as long // as we have an instance to one _frameworkElement = new TextBlock(); } if ((_brushResources != null) && (_frameworkElement != null)) { int index = (int)status; // If there is no cached value of the requested DrawingBrush, then find // it in the Resources. if (_brushResources[index] == null) { // Determine resource name. string resourceName = "PUIRMStatus" + Enum.GetName(typeof(RightsManagementStatus), status) + "BrushKey"; // Acquire reference to the brush. object resource = _frameworkElement.FindResource( new ComponentResourceKey(typeof(PresentationUIStyleResources), resourceName)); // Set cache value for the brush. _brushResources[index] = resource as DrawingBrush; } return _brushResources[index]; } return null; } #endregion Private Methods private static DrawingBrush[] _brushResources; // To cache DrawingBrushes. private static FrameworkElement _frameworkElement; // Used to search resources. } } // 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
- HMACSHA256.cs
- SubqueryTrackingVisitor.cs
- EncoderBestFitFallback.cs
- ImageMetadata.cs
- ArglessEventHandlerProxy.cs
- Vector.cs
- FlowDocument.cs
- Decorator.cs
- XmlChoiceIdentifierAttribute.cs
- DataDocumentXPathNavigator.cs
- SQLInt32.cs
- GPRECTF.cs
- InvalidDataContractException.cs
- IPipelineRuntime.cs
- PropertyCondition.cs
- TextEffectCollection.cs
- XmlSerializerImportOptions.cs
- QilPatternVisitor.cs
- DataSetUtil.cs
- MailMessage.cs
- HttpRequest.cs
- ReadOnlyDictionary.cs
- DesignRelationCollection.cs
- UIElement.cs
- DesignerActionVerbItem.cs
- XmlILModule.cs
- CorrelationTokenTypeConvertor.cs
- DashStyles.cs
- AddInAdapter.cs
- OperationValidationEventArgs.cs
- WebControlAdapter.cs
- BitmapEffectOutputConnector.cs
- HandlerBase.cs
- FirstMatchCodeGroup.cs
- HMAC.cs
- RemoteArgument.cs
- EntryIndex.cs
- UpdatableWrapper.cs
- RuntimeHelpers.cs
- InternalControlCollection.cs
- OracleMonthSpan.cs
- DrawingBrush.cs
- FixedStringLookup.cs
- Not.cs
- ExclusiveTcpTransportManager.cs
- ChangeProcessor.cs
- QilNode.cs
- ToolStripLabel.cs
- SqlCharStream.cs
- SortAction.cs
- HostedImpersonationContext.cs
- CompilerErrorCollection.cs
- WizardStepBase.cs
- GcSettings.cs
- WindowAutomationPeer.cs
- CapabilitiesPattern.cs
- ApplicationInterop.cs
- InternalConfigEventArgs.cs
- ListDictionaryInternal.cs
- QueryCoreOp.cs
- webclient.cs
- MailMessageEventArgs.cs
- XmlSchemaSimpleContent.cs
- IList.cs
- XmlBoundElement.cs
- Math.cs
- DataBindingList.cs
- FixedHyperLink.cs
- PerspectiveCamera.cs
- WebConfigurationHostFileChange.cs
- PrtTicket_Public_Simple.cs
- XmlNamespaceDeclarationsAttribute.cs
- JsonReaderDelegator.cs
- BamlMapTable.cs
- ApplicationId.cs
- EntityDataSourceSelectedEventArgs.cs
- InteropBitmapSource.cs
- StateManager.cs
- DragDrop.cs
- FlowPosition.cs
- LookupNode.cs
- NegotiateStream.cs
- IdentityReference.cs
- Transactions.cs
- SystemInfo.cs
- DbModificationClause.cs
- StructuralObject.cs
- BroadcastEventHelper.cs
- DataBindEngine.cs
- SwitchLevelAttribute.cs
- WindowsFormsLinkLabel.cs
- WebSysDefaultValueAttribute.cs
- DefaultTextStoreTextComposition.cs
- StickyNoteAnnotations.cs
- Ray3DHitTestResult.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- TimeZone.cs
- FontUnit.cs
- ByteBufferPool.cs
- RowUpdatedEventArgs.cs