Minor orbis fix in System.Net
[mono.git] / mcs / nunit24 / ClientUtilities / util / SettingsStorage.cs
1 // ****************************************************************\r
2 // Copyright 2002-2003, Charlie Poole\r
3 // This is free software licensed under the NUnit license. You may\r
4 // obtain a copy of the license at http://nunit.org/?p=license&r=2.4\r
5 // ****************************************************************\r
6 \r
7 namespace NUnit.Util\r
8 {\r
9         using System;\r
10 \r
11         /// <summary>\r
12         /// The ISettingsStorage interface is implemented by all\r
13         /// types of backing storage for settings.\r
14         /// </summary>\r
15         public interface ISettingsStorage : IDisposable\r
16         {\r
17                 /// <summary>\r
18                 /// Load a setting from the storage.\r
19                 /// </summary>\r
20                 /// <param name="settingName">Name of the setting to load</param>\r
21                 /// <returns>Value of the setting or null</returns>\r
22                 object GetSetting( string settingName );\r
23 \r
24                 /// <summary>\r
25                 /// Remove a setting from the storage\r
26                 /// </summary>\r
27                 /// <param name="settingName">Name of the setting to remove</param>\r
28                 void RemoveSetting( string settingName );\r
29 \r
30                 /// <summary>\r
31                 /// Remove a group of settings from the storae\r
32                 /// </summary>\r
33                 /// <param name="groupName">Name of the group to remove</param>\r
34                 void RemoveGroup( string groupName );\r
35 \r
36                 /// <summary>\r
37                 /// Save a setting in the storage\r
38                 /// </summary>\r
39                 /// <param name="settingName">Name of the setting to save</param>\r
40                 /// <param name="settingValue">Value to be saved</param>\r
41                 void SaveSetting( string settingName, object settingValue );\r
42 \r
43                 /// <summary>\r
44                 /// Create a child storage of the same type\r
45                 /// </summary>\r
46                 /// <param name="name">Name of the child storage</param>\r
47                 /// <returns>New child storage</returns>\r
48                 ISettingsStorage MakeChildStorage( string name );\r
49 \r
50                 /// <summary>\r
51                 /// Load settings from external storage if required\r
52                 /// by the implementation.\r
53                 /// </summary>\r
54                 void LoadSettings();\r
55 \r
56                 /// <summary>\r
57                 /// Save settings to external storage if required\r
58                 /// by the implementation.\r
59                 /// </summary>\r
60                 void SaveSettings();\r
61         }\r
62 }\r