Added hammock project to debug streaming issues
[pithos-ms-client] / trunk / hammock / src / net35 / ICSharpCode.SharpZipLib.Silverlight / Core / INameTransform.cs
1 // INameTransform.cs
2 //
3 // Copyright 2005 John Reilly
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 //
19 // Linking this library statically or dynamically with other modules is
20 // making a combined work based on this library.  Thus, the terms and
21 // conditions of the GNU General Public License cover the whole
22 // combination.
23 // 
24 // As a special exception, the copyright holders of this library give you
25 // permission to link this library with independent modules to produce an
26 // executable, regardless of the license terms of these independent
27 // modules, and to copy and distribute the resulting executable under
28 // terms of your choice, provided that you also meet, for each linked
29 // independent module, the terms and conditions of the license of that
30 // module.  An independent module is a module which is not derived from
31 // or based on this library.  If you modify this library, you may extend
32 // this exception to your version of the library, but you are not
33 // obligated to do so.  If you do not wish to do so, delete this
34 // exception statement from your version.
35
36 namespace ICSharpCode.SharpZipLib.Silverlight.Core
37 {
38     /// <summary>
39     /// INameTransform defines how file system names are transformed for use with archives.
40     /// </summary>
41     public interface INameTransform
42     {
43         /// <summary>
44         /// Given a file name determine the transformed value.
45         /// </summary>
46         /// <param name="name">The name to transform.</param>
47         /// <returns>The transformed file name.</returns>
48         string TransformFile(string name);
49                 
50         /// <summary>
51         /// Given a directory name determine the transformed value.
52         /// </summary>
53         /// <param name="name">The name to transform.</param>
54         /// <returns>The transformed directory name</returns>
55         string TransformDirectory(string name);
56     }
57 }