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
- FixedSOMTable.cs
- GenericNameHandler.cs
- SystemEvents.cs
- LocatorPartList.cs
- DataGridCommandEventArgs.cs
- _NegoState.cs
- PenContext.cs
- ComponentChangingEvent.cs
- HMACRIPEMD160.cs
- ActiveDocumentEvent.cs
- DbCommandTree.cs
- PostBackOptions.cs
- HtmlTableRow.cs
- PointIndependentAnimationStorage.cs
- PathSegmentCollection.cs
- GridViewDeletedEventArgs.cs
- Encoder.cs
- DataRow.cs
- SpeechAudioFormatInfo.cs
- CompositeFontFamily.cs
- HandledMouseEvent.cs
- BuildResult.cs
- LiteralControl.cs
- SmiEventSink_Default.cs
- FamilyMapCollection.cs
- Model3DGroup.cs
- EnvironmentPermission.cs
- XmlEncodedRawTextWriter.cs
- XmlWriterSettings.cs
- TraceContext.cs
- DataGridTextBoxColumn.cs
- TextMetrics.cs
- HttpModuleActionCollection.cs
- HtmlObjectListAdapter.cs
- XmlDesignerDataSourceView.cs
- IPHostEntry.cs
- CodeMemberField.cs
- AuthorizationRuleCollection.cs
- BreakSafeBase.cs
- HandlerElementCollection.cs
- InternalCache.cs
- TemplateFactory.cs
- CustomAttributeSerializer.cs
- TimeSpanValidator.cs
- RegistrySecurity.cs
- EntityDataSourceDesigner.cs
- Pen.cs
- XmlCodeExporter.cs
- FunctionMappingTranslator.cs
- DrawingContextDrawingContextWalker.cs
- DbConnectionPoolGroup.cs
- DesignRelation.cs
- StylusDevice.cs
- SHA384.cs
- ManagementNamedValueCollection.cs
- DragEvent.cs
- DiagnosticsConfigurationHandler.cs
- ScaleTransform3D.cs
- SchemaImporterExtension.cs
- DataViewSetting.cs
- ComponentCommands.cs
- TrackingExtract.cs
- ProfileSettings.cs
- ConstructorArgumentAttribute.cs
- CodeAttributeDeclaration.cs
- DetailsViewDeleteEventArgs.cs
- ThaiBuddhistCalendar.cs
- TdsEnums.cs
- BufferedResponseStream.cs
- PageVisual.cs
- ExpandCollapsePattern.cs
- OleDbInfoMessageEvent.cs
- Int32CollectionValueSerializer.cs
- DesignerActionTextItem.cs
- CancelRequestedQuery.cs
- WindowProviderWrapper.cs
- SettingsProperty.cs
- XamlTypeWithExplicitNamespace.cs
- UniqueConstraint.cs
- FactoryGenerator.cs
- Transaction.cs
- DefaultPropertyAttribute.cs
- NullEntityWrapper.cs
- FormClosedEvent.cs
- ArrayElementGridEntry.cs
- MarkupProperty.cs
- DataTableExtensions.cs
- GridViewCommandEventArgs.cs
- FileSystemEventArgs.cs
- GridView.cs
- XmlSecureResolver.cs
- DBConnectionString.cs
- MessageQueueCriteria.cs
- IgnoreSectionHandler.cs
- SuppressMessageAttribute.cs
- DmlSqlGenerator.cs
- CommandHelper.cs
- Rights.cs
- ClientTargetSection.cs
- PolyLineSegment.cs