Statistics
| Branch: | Revision:

root / trunk / hammock / src / net35 / ICSharpCode.SharpZipLib.Silverlight / Zip / IEntryFactory.cs @ 0eea575a

History | View | Annotate | Download (4 kB)

1
// IEntryFactory.cs
2
//
3
// Copyright 2006 John Reilly
4
//
5
// Copyright (C) 2001 Free Software Foundation, Inc.
6
//
7
// This program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public License
9
// as published by the Free Software Foundation; either version 2
10
// of the License, or (at your option) any later version.
11
//
12
// This program is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
// GNU General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
//
21
// Linking this library statically or dynamically with other modules is
22
// making a combined work based on this library.  Thus, the terms and
23
// conditions of the GNU General Public License cover the whole
24
// combination.
25
// 
26
// As a special exception, the copyright holders of this library give you
27
// permission to link this library with independent modules to produce an
28
// executable, regardless of the license terms of these independent
29
// modules, and to copy and distribute the resulting executable under
30
// terms of your choice, provided that you also meet, for each linked
31
// independent module, the terms and conditions of the license of that
32
// module.  An independent module is a module which is not derived from
33
// or based on this library.  If you modify this library, you may extend
34
// this exception to your version of the library, but you are not
35
// obligated to do so.  If you do not wish to do so, delete this
36
// exception statement from your version.
37

    
38
using System;
39
using ICSharpCode.SharpZipLib.Silverlight.Core;
40

    
41
namespace ICSharpCode.SharpZipLib.Silverlight.Zip
42
{
43
    /// <summary>
44
    /// Defines factory methods for creating new <see cref="ZipEntry"></see> values.
45
    /// </summary>
46
    public interface IEntryFactory
47
    {
48
        /// <summary>
49
        /// Create a <see cref="ZipEntry"/> for a file given its name
50
        /// </summary>
51
        /// <param name="fileName">The name of the file to create an entry for.</param>
52
        /// <returns>Returns a <see cref="ZipEntry">file entry</see> based on the <paramref name="fileName"/> passed.</returns>
53
        ZipEntry MakeFileEntry(string fileName);
54

    
55
        /// <summary>
56
        /// Create a <see cref="ZipEntry"/> for a file given its name
57
        /// </summary>
58
        /// <param name="fileName">The name of the file to create an entry for.</param>
59
        /// <param name="useFileSystem">If true get details from the file system if the file exists.</param>
60
        /// <returns>Returns a <see cref="ZipEntry">file entry</see> based on the <paramref name="fileName"/> passed.</returns>
61
        ZipEntry MakeFileEntry(string fileName, bool useFileSystem);
62

    
63
        /// <summary>
64
        /// Create a <see cref="ZipEntry"/> for a directory given its name
65
        /// </summary>
66
        /// <param name="directoryName">The name of the directory to create an entry for.</param>
67
        /// <returns>Returns a <see cref="ZipEntry">directory entry</see> based on the <paramref name="directoryName"/> passed.</returns>
68
        ZipEntry MakeDirectoryEntry(string directoryName);
69

    
70
        /// <summary>
71
        /// Create a <see cref="ZipEntry"/> for a directory given its name
72
        /// </summary>
73
        /// <param name="directoryName">The name of the directory to create an entry for.</param>
74
        /// <param name="useFileSystem">If true get details from the file system for this directory if it exists.</param>
75
        /// <returns>Returns a <see cref="ZipEntry">directory entry</see> based on the <paramref name="directoryName"/> passed.</returns>
76
        ZipEntry MakeDirectoryEntry(string directoryName, bool useFileSystem);
77
		
78
        /// <summary>
79
        /// Get/set the <see cref="INameTransform"></see> applicable.
80
        /// </summary>
81
        INameTransform NameTransform { get; set;  }
82
    }
83
}