Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / IO / Zip / ZipFileInfo.cs / 1305600 / ZipFileInfo.cs
//------------------------------------------------------------------------------ //------------- *** WARNING *** //------------- This file is part of a legally monitored development project. //------------- Do not check in changes to this project. Do not raid bugs on this //------------- code in the main PS database. Do not contact the owner of this //------------- code directly. Contact the legal team at �ZSLegal� for assistance. //------------- *** WARNING *** //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is an internal class that enables interactions with Zip archives // for OPC scenarios // // History: // 11/19/2004: IgorBel: Initial creation. // //----------------------------------------------------------------------------- using System; using System.IO; using System.Diagnostics; namespace MS.Internal.IO.Zip { internal sealed class ZipFileInfo { //------------------------------------------------------ // // Public Members // //----------------------------------------------------- // None //------------------------------------------------------ // // Internal Constructors // //------------------------------------------------------ // None //----------------------------------------------------- // // Internal API Methods (although these methods are marked as // Internal they are part of the internal ZIP IO API surface // //------------------------------------------------------ internal Stream GetStream(FileMode mode, FileAccess access) { CheckDisposed(); return _fileBlock.GetStream(mode, access); } //----------------------------------------------------- // // Internal Properties // //----------------------------------------------------- internal string Name { get { CheckDisposed(); return _fileBlock.FileName; } } internal ZipArchive ZipArchive { get { CheckDisposed(); return _zipArchive; } } internal CompressionMethodEnum CompressionMethod { get { CheckDisposed(); return _fileBlock.CompressionMethod; } } internal DateTime LastModFileDateTime { get { CheckDisposed(); return ZipIOBlockManager.FromMsDosDateTime(_fileBlock.LastModFileDateTime); } } #if false internal bool EncryptedFlag { get { CheckDisposed(); return _fileBlock.EncryptedFlag; } } #endif internal DeflateOptionEnum DeflateOption { get { CheckDisposed(); return _fileBlock.DeflateOption; } } #if false internal bool StreamingCreationFlag { get { CheckDisposed(); return _fileBlock.StreamingCreationFlag; } } #endif // This ia Directory flag based on the informtion from the central directory // at the moment we have only provide reliable value for the files authored in MS-DOS // The upper byte of version made by indicating (OS) must be == 0 (MS-DOS) // for the other cases (OSes) we will return false internal bool FolderFlag { get { CheckDisposed(); return _fileBlock.FolderFlag; } } // This ia Directory flag based on the informtion from the central directory // at the moment we have only provide reliable value for the files authored in MS-DOS // The upper byte of version made by indicating (OS) must be == 0 (MS-DOS) // for the other cases (OSes) we will return false internal bool VolumeLabelFlag { get { CheckDisposed(); return _fileBlock.VolumeLabelFlag; } } //----------------------------------------------------- // Internal NON API Constructor (this constructor is marked as internal // and isNOT part of the ZIP IO API surface) // It supposed to be called only by the ZipArchive class //------------------------------------------------------ internal ZipFileInfo(ZipArchive zipArchive, ZipIOLocalFileBlock fileBlock) { Debug.Assert((fileBlock != null) && (zipArchive != null)); _fileBlock = fileBlock; _zipArchive = zipArchive; #if DEBUG // validate that date time is legal DateTime dt = LastModFileDateTime; #endif } //----------------------------------------------------- // Internal NON API property to be used to map FileInfo back to a block that needs to be deleted // (this prperty is marked as internal and isNOT part of the ZIP IO API surface) // It supposed to be called only by the ZipArchive class //------------------------------------------------------ internal ZipIOLocalFileBlock LocalFileBlock { get { return _fileBlock; } } //------------------------------------------------------ // // Private Methods // //----------------------------------------------------- private void CheckDisposed() { _fileBlock.CheckDisposed(); } //------------------------------------------------------ // // Private Properties // //----------------------------------------------------- //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- private ZipIOLocalFileBlock _fileBlock; private ZipArchive _zipArchive; } } // 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
- WebOperationContext.cs
- ThicknessConverter.cs
- MenuAdapter.cs
- ToolstripProfessionalRenderer.cs
- BamlResourceDeserializer.cs
- EdgeProfileValidation.cs
- StringStorage.cs
- BreadCrumbTextConverter.cs
- PageThemeCodeDomTreeGenerator.cs
- DbSourceParameterCollection.cs
- XmlSerializerSection.cs
- PolyQuadraticBezierSegment.cs
- EncryptedType.cs
- IODescriptionAttribute.cs
- WebControlAdapter.cs
- ImmutableClientRuntime.cs
- CodeDOMProvider.cs
- RelationshipFixer.cs
- SqlRetyper.cs
- IISUnsafeMethods.cs
- XmlSchemaSubstitutionGroup.cs
- ServiceNotStartedException.cs
- StackSpiller.Temps.cs
- RelOps.cs
- SelectionRange.cs
- XPathEmptyIterator.cs
- ProxyFragment.cs
- ObjectViewQueryResultData.cs
- CommandField.cs
- StringCollectionEditor.cs
- DeclaredTypeElementCollection.cs
- ConsumerConnectionPointCollection.cs
- EntityParameter.cs
- HorizontalAlignConverter.cs
- LinqDataSourceDeleteEventArgs.cs
- GestureRecognitionResult.cs
- CachingHintValidation.cs
- LinqDataSource.cs
- EndpointNotFoundException.cs
- XsdBuilder.cs
- LinkedList.cs
- PartialClassGenerationTaskInternal.cs
- ContextMenu.cs
- MediaContextNotificationWindow.cs
- TemplateApplicationHelper.cs
- DbUpdateCommandTree.cs
- VisualStyleInformation.cs
- TransactionProtocol.cs
- NameNode.cs
- MsmqIntegrationMessagePool.cs
- GenericTextProperties.cs
- BatchParser.cs
- NonBatchDirectoryCompiler.cs
- SaveFileDialog.cs
- CellLabel.cs
- PriorityQueue.cs
- SerializationInfo.cs
- QueryCreatedEventArgs.cs
- PermissionSetEnumerator.cs
- FunctionQuery.cs
- TabItemAutomationPeer.cs
- PrimitiveList.cs
- TablePattern.cs
- MouseActionValueSerializer.cs
- InkPresenter.cs
- Utils.cs
- BrowserTree.cs
- ItemsChangedEventArgs.cs
- ManagedWndProcTracker.cs
- DoubleUtil.cs
- HttpResponseInternalWrapper.cs
- DeploymentExceptionMapper.cs
- DebugView.cs
- OneOf.cs
- LOSFormatter.cs
- AsyncCompletedEventArgs.cs
- Polygon.cs
- SelectionEditor.cs
- BackStopAuthenticationModule.cs
- PriorityRange.cs
- ExecutionScope.cs
- ByteAnimationUsingKeyFrames.cs
- JavaScriptSerializer.cs
- XPathEmptyIterator.cs
- NullableFloatMinMaxAggregationOperator.cs
- MenuCommand.cs
- ServiceDeploymentInfo.cs
- TextOnlyOutput.cs
- OperationInfo.cs
- TileBrush.cs
- WebBrowserContainer.cs
- FormatException.cs
- WebPartExportVerb.cs
- OpenTypeLayoutCache.cs
- ComEventsInfo.cs
- DataKey.cs
- FormViewUpdateEventArgs.cs
- AttachedPropertyMethodSelector.cs
- MultiByteCodec.cs
- HttpListenerResponse.cs