[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnetlib/System/Configuration/Provider IProvider.cs
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnetlib/System/Configuration/Provider IProvider.cs, NONE, 1.1 Makefile, NONE, 1.1 NotSupportedByProviderException.cs, NONE, 1.1 ProviderCollection.cs, NONE, 1.1 |
Date: |
Thu, 27 Nov 2003 22:59:52 +0000 |
Update of /cvsroot/dotgnu-pnet/pnetlib/System/Configuration/Provider
In directory subversions:/tmp/cvs-serv4842/System/Configuration/Provider
Added Files:
IProvider.cs Makefile NotSupportedByProviderException.cs
ProviderCollection.cs
Log Message:
Add 1.2 features to "System.Configuration" and "System.Configuration.Provider".
--- NEW FILE: IProvider.cs ---
/*
* IProvider.cs - Implementation of the
* "System.Configuration.Provider.IProvider" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Configuration.Provider
{
#if CONFIG_FRAMEWORK_1_2
using System.Collections.Specialized;
internal interface IProvider
{
// Get the name of this provider.
String Name { get; }
// Initialize this provider.
void Initialize(String name, NameValueCollection config);
}; // interface IProvider
#endif // CONFIG_FRAMEWORK_1_2
}; // namespace System.Configuration.Provider
--- NEW FILE: NotSupportedByProviderException.cs ---
/*
* NotSupportedByProviderException.cs - Implementation of the
* "System.Configuration.Provider.NotSupportedByProviderException"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Configuration.Provider
{
#if CONFIG_FRAMEWORK_1_2
using System.Runtime.Serialization;
[Serializable]
public class NotSupportedByProviderException : Exception
{
// Constructors.
public NotSupportedByProviderException() : base() {}
public NotSupportedByProviderException(String message) : base(message)
{}
public NotSupportedByProviderException(String message, Exception inner)
: base(message, inner) {}
#if CONFIG_SERIALIZATION
protected NotSupportedByProviderException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
#endif // CONFIG_SERIALIZATION
}; // class NotSupportedByProviderException
#endif // CONFIG_FRAMEWORK_1_2
}; // namespace System.Configuration.Provider
--- NEW FILE: Makefile ---
all:
(cd ../..;make)
(cd ../..;make phase-two)
--- NEW FILE: ProviderCollection.cs ---
/*
* ProviderCollection.cs - Implementation of the
* "System.Configuration.Provider.ProviderCollection" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Configuration.Provider
{
#if CONFIG_FRAMEWORK_1_2
using System.Collections;
using System.Globalization;
public class ProviderCollection : ICollection, IEnumerable
{
// Internal state.
private ArrayList list;
private bool readOnly;
// Constructor.
public ProviderCollection()
{
list = new ArrayList();
readOnly = false;
}
// Implement the ICollection interface.
public void CopyTo(Array array, int index)
{
list.CopyTo(array, index);
}
public int Count
{
get
{
return list.Count;
}
}
public bool IsSynchronized
{
get
{
return false;
}
}
public Object SyncRoot
{
get
{
return this;
}
}
// Implement the IEnumerable interface.
public IEnumerator GetEnumerator()
{
return list.GetEnumerator();
}
// Get a provider by name from this collection.
public IProvider this[String name]
{
get
{
if(name == null)
{
throw new
ArgumentNullException("name");
}
foreach(IProvider provider in list)
{
if(String.Compare(provider.Name, name, true,
CultureInfo.InvariantCulture) == 0)
{
return provider;
}
}
return null;
}
}
// Add a provider to this collection.
public void Add(IProvider provider)
{
if(provider == null || provider.Name == null)
{
throw new
ArgumentNullException("provider");
}
if(readOnly)
{
throw new
NotSupportedException(S._("NotSupp_ReadOnly"));
}
list.Add(provider);
}
// Clear this collection.
public void Clear()
{
if(readOnly)
{
throw new
NotSupportedException(S._("NotSupp_ReadOnly"));
}
list.Clear();
}
// Remove a named provider from this collection.
public void Remove(String name)
{
IProvider provider = this[name];
if(readOnly)
{
throw new
NotSupportedException(S._("NotSupp_ReadOnly"));
}
if(provider != null)
{
list.Remove(provider);
}
}
// Set this collection to be read-only.
public void SetReadOnly()
{
readOnly = true;
}
}; // class ProviderCollection
#endif // CONFIG_FRAMEWORK_1_2
}; // namespace System.Configuration.Provider
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnetlib/System/Configuration/Provider IProvider.cs, NONE, 1.1 Makefile, NONE, 1.1 NotSupportedByProviderException.cs, NONE, 1.1 ProviderCollection.cs, NONE, 1.1,
Rhys Weatherley <address@hidden> <=