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
- XPathScanner.cs
- Inline.cs
- NodeLabelEditEvent.cs
- HeaderUtility.cs
- SrgsElementFactoryCompiler.cs
- NameValueFileSectionHandler.cs
- PropertyEntry.cs
- CriticalExceptions.cs
- GlyphingCache.cs
- BinaryQueryOperator.cs
- ControlCollection.cs
- DateTimeOffsetAdapter.cs
- StructuredType.cs
- HuffmanTree.cs
- TokenBasedSetEnumerator.cs
- MetadataCollection.cs
- SqlDataSourceCustomCommandPanel.cs
- FormViewDeletedEventArgs.cs
- XmlSchemaDocumentation.cs
- odbcmetadatacolumnnames.cs
- XmlChoiceIdentifierAttribute.cs
- TemplateXamlTreeBuilder.cs
- CollectionType.cs
- Label.cs
- FixedSOMTable.cs
- ExternalDataExchangeService.cs
- FontFamilyValueSerializer.cs
- NotSupportedException.cs
- GridPatternIdentifiers.cs
- _OSSOCK.cs
- TrackBar.cs
- MetaTableHelper.cs
- WebPartZoneBase.cs
- PathGeometry.cs
- ThemeDictionaryExtension.cs
- Restrictions.cs
- PrintControllerWithStatusDialog.cs
- HttpWebRequest.cs
- X500Name.cs
- AsymmetricKeyExchangeDeformatter.cs
- MembershipSection.cs
- TransactionProxy.cs
- ReadOnlyCollectionBase.cs
- XmlC14NWriter.cs
- ValueTable.cs
- DefaultObjectMappingItemCollection.cs
- KeyValueSerializer.cs
- InvokePattern.cs
- ProtocolImporter.cs
- CipherData.cs
- TextOnlyOutput.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ReadOnlyHierarchicalDataSource.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ToolstripProfessionalRenderer.cs
- TargetParameterCountException.cs
- JsonCollectionDataContract.cs
- CqlQuery.cs
- GridViewDeletedEventArgs.cs
- LoginView.cs
- SmtpTransport.cs
- RIPEMD160Managed.cs
- XmlDeclaration.cs
- isolationinterop.cs
- ClrProviderManifest.cs
- Emitter.cs
- KeyEventArgs.cs
- DataGridViewIntLinkedList.cs
- GcHandle.cs
- NameValueCollection.cs
- BitmapCodecInfoInternal.cs
- DataGrid.cs
- StrongNamePublicKeyBlob.cs
- DetectRunnableInstancesTask.cs
- JsonReaderDelegator.cs
- HttpWebRequest.cs
- CapabilitiesState.cs
- Listbox.cs
- LicenseManager.cs
- TitleStyle.cs
- ComponentEvent.cs
- SystemTcpStatistics.cs
- KeyProperty.cs
- MetabaseServerConfig.cs
- Timeline.cs
- EdmMember.cs
- CompilerState.cs
- EncodingDataItem.cs
- PageSetupDialog.cs
- XmlCustomFormatter.cs
- CustomTypeDescriptor.cs
- WindowsListBox.cs
- DbConnectionStringCommon.cs
- ProfessionalColors.cs
- WinFormsSecurity.cs
- SqlProviderServices.cs
- DataSourceConverter.cs
- ObjectDataSourceSelectingEventArgs.cs
- XsltArgumentList.cs
- DrawToolTipEventArgs.cs