cvs ignores, sorry about the spam
[mono.git] / mcs / nunit20 / util / VSProjectConfigCollection.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright  2000-2002 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright  2000-2002 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31 using System.Collections;
32
33 namespace NUnit.Util
34 {
35         /// <summary>
36         /// A simple collection to hold VSProjectConfigs. Originally,
37         /// we used the (NUnit) ProjectConfigCollection, but the
38         /// classes have since diverged.
39         /// </summary>
40         public class VSProjectConfigCollection : CollectionBase
41         {
42                 public VSProjectConfig this[int index]
43                 {
44                         get { return List[index] as VSProjectConfig; }
45                 }
46
47                 public VSProjectConfig this[string name]
48                 {
49                         get
50                         {
51                                 foreach ( VSProjectConfig config in InnerList )
52                                         if ( config.Name == name ) return config;
53
54                                 return null;
55                         }
56                 }
57
58                 public void Add( VSProjectConfig config )
59                 {
60                         List.Add( config );
61                 }
62
63                 public bool Contains( string name )
64                 {
65                         foreach( VSProjectConfig config in InnerList )
66                                 if ( config.Name == name ) return true;
67
68                         return false;
69                 }
70         }
71 }