2008-12-06 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / System.Configuration / System.Configuration / ConnectionStringSettings.cs
index dc267fbda4a454a611c2afa8473e2dfa2235b2b0..eabcaa037b1557a9e7ff32b3a65b598de6521b77 100644 (file)
@@ -1,12 +1,12 @@
 //
 // System.Configuration.ConnectionStringSettings.cs
 //
-// Author:
+// Authors:
 //   Sureshkumar T <tsureshkumar@novell.com>
+//   Chris Toshok <toshok@ximian.com>
 //
 //
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004,2005 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
 
 #if NET_2_0
 
-#region Using directives
-
 using System;
-
-#endregion
+using System.ComponentModel;
 
 namespace System.Configuration
 {
-        public sealed class ConnectionStringSettings : ConfigurationElement
-        {
-
-                #region Fields
-                private static ConfigurationPropertyCollection _properties;
-        
-                private static readonly ConfigurationProperty _propConnectionString;
-                private static readonly ConfigurationProperty _propName;
-                private static readonly ConfigurationProperty _propProviderName;
-                #endregion // Fields
-
-                #region Constructors
-                static ConnectionStringSettings ()
-                {
-                        _properties     = new ConfigurationPropertyCollection ();
-                        _propName = new ConfigurationProperty ("name", 
-                                                               typeof(string), 
-                                                               "", 
-                                                               ConfigurationPropertyOptions.Required | 
-                                                               ConfigurationPropertyOptions.IsKey
-                                                               );
-
-                        _propProviderName = new ConfigurationProperty ("providerName",
-                                                                       typeof (string),
-                                                                       "",
-                                                                       ConfigurationPropertyOptions.Required
-                                                                       );
-
-                        _propConnectionString = new ConfigurationProperty ("connectionString",
-                                                                           typeof (string),
-                                                                           "",
-                                                                           ConfigurationPropertyOptions.Required
-                                                                           );
-
-                        _properties.Add (_propName);
-                        _properties.Add (_propProviderName);
-                        _properties.Add (_propConnectionString);
-                }
-
-                public ConnectionStringSettings ()
-                        : this (null, null, null)
-                {
-                }
-
-                public ConnectionStringSettings (string name, string connectionString)
-                        : this (name, connectionString, null)
-                {
-                }
-
-                public ConnectionStringSettings (string name, string connectionString, string providerName)
-                {
-                        Name = name;
-                        ConnectionString = connectionString;
-                        ProviderName = providerName;
-                }
-                #endregion // Constructors
-
-                #region Properties
-
-                protected internal override ConfigurationPropertyCollection Properties
-                {
-                        get
-                        {
-                                return _properties;
-                        }
-                }
-                public string Name
-                {
-                        get { return (string) base [_propName];}
-                        set { base [_propName] = value; }
-                }
-
-                public string ProviderName
-                {
-                        get { return (string) base [_propProviderName]; }
-                        set { base [_propProviderName] = value; }
-                }
-
-                public string ConnectionString
-                {
-                        get { return (string) base [_propConnectionString]; }
-                        set { base [_propConnectionString] = value; }
-                }
-       
-                #endregion // Properties
-                
-                public override string ToString ()
-                {
-                       return ConnectionString;
-                }
-        }
+       public sealed class ConnectionStringSettings : ConfigurationElement
+       {
+               private static ConfigurationPropertyCollection _properties;
+       
+               private static readonly ConfigurationProperty _propConnectionString;
+               private static readonly ConfigurationProperty _propName;
+               private static readonly ConfigurationProperty _propProviderName;
+
+               static ConnectionStringSettings ()
+               {
+                       _properties     = new ConfigurationPropertyCollection ();
+                       _propName = new ConfigurationProperty ("name", typeof(string), null,
+                                                              TypeDescriptor.GetConverter (typeof (string)),
+                                                              null,
+                                                              ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
+
+                       _propProviderName = new ConfigurationProperty ("providerName", typeof (string), "",
+                                                                      ConfigurationPropertyOptions.None);
+
+                       _propConnectionString = new ConfigurationProperty ("connectionString", typeof (string), "",
+                                                                          ConfigurationPropertyOptions.IsRequired);
+
+                       _properties.Add (_propName);
+                       _properties.Add (_propProviderName);
+                       _properties.Add (_propConnectionString);
+               }
+
+               public ConnectionStringSettings ()
+               {
+               }
+
+               public ConnectionStringSettings (string name, string connectionString)
+                       : this (name, connectionString, "")
+               {
+               }
+
+               public ConnectionStringSettings (string name, string connectionString, string providerName)
+               {
+                       Name = name;
+                       ConnectionString = connectionString;
+                       ProviderName = providerName;
+               }
+
+               protected internal override ConfigurationPropertyCollection Properties
+               {
+                       get { return _properties; }
+               }
+
+               [ConfigurationProperty ("name", DefaultValue = "", Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey)]
+               public string Name
+               {
+                       get { return (string) base [_propName];}
+                       set { base [_propName] = value; }
+               }
+
+               [ConfigurationProperty ("providerName", DefaultValue = "System.Data.SqlClient")]
+               public string ProviderName
+               {
+                       get { return (string) base [_propProviderName]; }
+                       set { base [_propProviderName] = value; }
+               }
+
+               [ConfigurationProperty ("connectionString", DefaultValue = "", Options = ConfigurationPropertyOptions.IsRequired)]
+               public string ConnectionString
+               {
+                       get { return (string) base [_propConnectionString]; }
+                       set { base [_propConnectionString] = value; }
+               }
+               
+               public override string ToString ()
+               {
+                       return ConnectionString;
+               }
+       }
 }
 #endif // NET_2_0