Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / Application / FileDocument.cs / 1 / FileDocument.cs
//------------------------------------------------------------------------------ //// Copyright (C) Microsoft Corporation. All rights reserved. // //// Extends StreamDocument with CriticalFileTokens for use by FileController // FilePresentation and DocumentStream. // // // History: // 08/28/2005: [....]: Initial implementation. //----------------------------------------------------------------------------- using System; using System.IO; using System.Security; namespace MS.Internal.Documents.Application { ////// Extends StreamDocument with CriticalFileTokens for use by FileController /// FilePresentation and DocumentStream. /// internal class FileDocument : StreamDocument{ #region Constructors //------------------------------------------------------------------------- // Constructors //------------------------------------------------------------------------- #if DRT /// /// Constructs a FileDocument allowing for a dependency. Null can be used /// if there are none. /// /// The Document this object depends on. internal FileDocument(Document dependency) : base(dependency) { } #endif ////// Will construct a FileDocument with no dependency. /// /// The file token to use for this document. ////// Critical: /// - accesses _sourceFile, _desinationToken /// TreatAsSafe: /// - safe by defination for _sourcefile /// [SecurityCritical, SecurityTreatAsSafe] public FileDocument(CriticalFileToken fileToken) : base(null) { _sourceToken = fileToken; } ////// Will construct a FileDocument with no dependency. /// /// The existing stream to use for this document. /// ////// Critical: /// - we are setting the target stream to read from /// NotSafe: /// - we do not know the source of the stream /// [SecurityCritical] public FileDocument(Stream existing) : base(null) { SourceProxy = DocumentStream.Open(existing); } #endregion Constructors #region Internal Properties //-------------------------------------------------------------------------- // Internal Properties //------------------------------------------------------------------------- ////// Returns the file token to use for saving this document. /// ////// Critical: /// - get & sets the _destinationToken /// internal CriticalFileToken DestinationToken { [SecurityCritical] get { return _destinationToken; } [SecurityCritical] set { _destinationToken = value; } } ////// Returns the file token to use for opening this document. /// ////// Critical: /// - gets the _fileToken /// internal CriticalFileToken SourceToken { [SecurityCritical] get { return _sourceToken; } } ////// When true the source and destination should be swapped on SaveCommit. /// internal bool SwapDestination { get { return _swapFile; } set { _swapFile = value; } } #endregion Internal Properties #region Private Fields //-------------------------------------------------------------------------- // Private Fields //-------------------------------------------------------------------------- ////// /// The comparee document we will save to. /// ////// Critical: /// - we do not want to leak the token /// [SecurityCritical] private CriticalFileToken _destinationToken; ////// The source document we represent. /// ////// Critical: /// - we do not want to leak the token /// - it is only safe to set once for the object /// [SecurityCritical] private CriticalFileToken _sourceToken; private bool _swapFile; #endregion Private Fields } } // 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
- TypedColumnHandler.cs
- ListCollectionView.cs
- EntitySqlQueryCacheEntry.cs
- UiaCoreApi.cs
- ContentFilePart.cs
- DataGridColumn.cs
- GACIdentityPermission.cs
- HttpWriter.cs
- MetadataItemSerializer.cs
- TextParagraphCache.cs
- ResizeGrip.cs
- ObjectDataSourceChooseMethodsPanel.cs
- querybuilder.cs
- AssemblyAttributes.cs
- recordstatescratchpad.cs
- NavigationProperty.cs
- SimpleBitVector32.cs
- TypeLibConverter.cs
- CompilerInfo.cs
- FullTextBreakpoint.cs
- SqlTriggerAttribute.cs
- DynamicMetaObject.cs
- TagMapCollection.cs
- TextSpan.cs
- DataGridViewColumnConverter.cs
- SqlRecordBuffer.cs
- Attributes.cs
- WebPartTransformerCollection.cs
- PriorityChain.cs
- CharConverter.cs
- SecurityTokenException.cs
- AuthenticationServiceManager.cs
- login.cs
- RubberbandSelector.cs
- Types.cs
- AndCondition.cs
- StandardOleMarshalObject.cs
- EntityTemplateFactory.cs
- ClientScriptManagerWrapper.cs
- UnrecognizedAssertionsBindingElement.cs
- ToolStripPanelSelectionBehavior.cs
- SizeConverter.cs
- DataServiceKeyAttribute.cs
- SqlRewriteScalarSubqueries.cs
- Classification.cs
- DisplayInformation.cs
- CaseExpr.cs
- SmiEventSink_DeferedProcessing.cs
- ListBoxItemWrapperAutomationPeer.cs
- ContainsSearchOperator.cs
- SetterBase.cs
- StylusPointDescription.cs
- EntityWithChangeTrackerStrategy.cs
- TextTreeInsertUndoUnit.cs
- _RequestCacheProtocol.cs
- KeyValueSerializer.cs
- XPathQueryGenerator.cs
- ThrowHelper.cs
- OracleConnectionString.cs
- SQlBooleanStorage.cs
- InternalTypeHelper.cs
- ContextStaticAttribute.cs
- DataControlImageButton.cs
- Translator.cs
- FontFamily.cs
- WindowsGraphicsWrapper.cs
- WindowExtensionMethods.cs
- xmlglyphRunInfo.cs
- ADMembershipProvider.cs
- ProxyElement.cs
- SystemParameters.cs
- CustomWebEventKey.cs
- SoapEnvelopeProcessingElement.cs
- ResourceDisplayNameAttribute.cs
- ShaderRenderModeValidation.cs
- Command.cs
- GridViewDeletedEventArgs.cs
- EntryPointNotFoundException.cs
- XmlUnspecifiedAttribute.cs
- RawStylusInputCustomData.cs
- HtmlInputImage.cs
- DocobjHost.cs
- AssemblyResourceLoader.cs
- XamlContextStack.cs
- PrinterResolution.cs
- UnsafeNativeMethodsTablet.cs
- HttpHandler.cs
- ReflectPropertyDescriptor.cs
- sqlpipe.cs
- PickBranch.cs
- DataService.cs
- ExitEventArgs.cs
- Size3DValueSerializer.cs
- GridViewRowCollection.cs
- DataGridAutomationPeer.cs
- TextRangeBase.cs
- SystemSounds.cs
- ToolStripGripRenderEventArgs.cs
- MobileControlDesigner.cs
- X509Certificate.cs