aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs')
-rw-r--r--Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs86
1 files changed, 86 insertions, 0 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
new file mode 100644
index 0000000000..3d886ea87a
--- /dev/null
+++ b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
@@ -0,0 +1,86 @@
+using System.IO;
+
+namespace SharpCifs.Util.Sharpen
+{
+ public class Properties
+ {
+ protected Hashtable _properties;
+
+ public Properties()
+ {
+ _properties = new Hashtable();
+ }
+
+ public Properties(Properties defaultProp): this()
+ {
+ PutAll(defaultProp._properties);
+ }
+
+ public void PutAll(Hashtable properties)
+ {
+ foreach (var key in properties.Keys)
+ {
+ //_properties.Add(key, properties[key]);
+ _properties.Put(key, properties[key]);
+ }
+ }
+
+ public void SetProperty(object key, object value)
+ {
+ //_properties.Add(key, value);
+ _properties.Put(key, value);
+ }
+
+ public object GetProperty(object key)
+ {
+ return _properties.Keys.Contains(key) ? _properties[key] : null;
+ }
+
+ public object GetProperty(object key, object def)
+ {
+ /*if (_properties.ContainsKey(key))
+ {
+ return _properties[key];
+ }
+ return def;*/
+ object value = _properties.Get(key);
+
+ return value ?? def;
+ }
+
+ public void Load(InputStream input)
+ {
+ StreamReader sr = new StreamReader(input);
+ while (!sr.EndOfStream)
+ {
+ string line = sr.ReadLine();
+
+ if (!string.IsNullOrEmpty(line))
+ {
+ string[] tokens = line.Split('=');
+ //_properties.Add(tokens[0], tokens[1]);
+ _properties.Put(tokens[0], tokens[1]);
+ }
+ }
+ }
+
+ public void Store(OutputStream output)
+ {
+ StreamWriter sw = new StreamWriter(output);
+ foreach (var key in _properties.Keys)
+ {
+ string line = string.Format("{0}={1}", key, _properties[key]);
+ sw.WriteLine(line);
+ }
+ }
+
+ public void Store(TextWriter output)
+ {
+ foreach (var key in _properties.Keys)
+ {
+ string line = string.Format("{0}={1}", key, _properties[key]);
+ output.WriteLine(line);
+ }
+ }
+ }
+}