[Cleanup] Removed TARGET_JVM
[mono.git] / mcs / class / System / System.Configuration / LocalFileSettingsProvider.cs
1 //
2 // System.Configuration.LocalFileSettingsProvider.cs
3 //
4 // Authors:
5 //      Chris Toshok (toshok@ximian.com)
6 //      Atsushi Enomoto (atsushi@ximian.com)
7 //
8 // (C) 2005, 2007 Novell, Inc (http://www.novell.com)
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 // 
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 // 
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 //
29
30 #if CONFIGURATION_DEP
31 #if CONFIGURATION_DEP
32 extern alias PrebuiltSystem;
33 using NameValueCollection = PrebuiltSystem.System.Collections.Specialized.NameValueCollection;
34 #endif
35
36 using System;
37 using System.Collections.Specialized;
38
39 namespace System.Configuration
40 {
41         public class LocalFileSettingsProvider : SettingsProvider, IApplicationSettingsProvider
42         {
43                 CustomizableFileSettingsProvider impl;
44
45                 public LocalFileSettingsProvider ()
46                 {
47                         impl = new CustomizableFileSettingsProvider ();
48                 }
49
50                 [MonoTODO]
51                 public SettingsPropertyValue GetPreviousVersion (SettingsContext context,
52                                                                  SettingsProperty property)
53                 {
54                         return impl.GetPreviousVersion (context, property);
55                 }
56
57
58                 [MonoTODO]
59                 public override SettingsPropertyValueCollection GetPropertyValues (SettingsContext context,
60                                                                                    SettingsPropertyCollection properties)
61                 {
62                         return impl.GetPropertyValues (context, properties);
63                 }
64
65 #if CONFIGURATION_DEP
66                 public override void Initialize (string name,
67                                                  NameValueCollection values)
68                 {
69                         if (name == null)
70                                 name = "LocalFileSettingsProvider";
71                         if (values != null)
72                                 impl.ApplicationName = values ["applicationName"];
73
74                         base.Initialize (name, values);
75                 }
76 #endif
77
78                 [MonoTODO]
79                 public void Reset (SettingsContext context)
80                 {
81                         impl.Reset (context);
82                 }
83
84                 [MonoTODO]
85                 public override void SetPropertyValues (SettingsContext context,
86                                                         SettingsPropertyValueCollection values)
87                 {
88                         impl.SetPropertyValues (context, values);
89                 }
90
91                 [MonoTODO]
92                 public void Upgrade (SettingsContext context,
93                                      SettingsPropertyCollection properties)
94                 {
95                         impl.Upgrade (context, properties);
96                 }
97
98                 public override string ApplicationName {
99                         get { return impl.ApplicationName; }
100                         set { impl.ApplicationName = value; }
101                 }
102
103 /*
104                 bool IsUserSetting (SettingsProperty prop)
105                 {
106 #if CONFIGURATION_DEP
107                         if (prop.Attributes.ContainsKey (typeof (UserScopedSettingAttribute)))
108                                 return true;
109                         else if (prop.Attributes.ContainsKey (typeof (ApplicationScopedSettingAttribute)))
110                                 return false;
111                         else
112                                 throw new ConfigurationErrorsException (
113                                                         String.Format ("The setting '{0}' does not have either an ApplicationScopedSettingAttribute or UserScopedSettingAttribute.",
114                                                                        prop.Name));
115 #else
116                         return false;
117 #endif
118                 }
119 */              
120         }
121
122 }
123
124 #endif