-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathConfig.cs
55 lines (48 loc) · 1.88 KB
/
Config.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
namespace ServerScan
{
[Serializable]
public class Config
{
public String ScannerID = "";
public String ScannerName = "";
public Int32 ButtonVID = 0;
public Int32 ButtonPID = 0;
public Int32 ButtonReadSize = 0;
public Boolean AutoConnect = false;
public String SavePath = "";
public int ScanDpi = 100;
public int ScanColor = 1;
public bool ScanADF = false;
public bool ScanTryFlatbed = false;
public bool StartMinimized = false;
public bool ShowErrors = false;
const String file = "config.xml";
public void Serialize()
{
System.Xml.Serialization.XmlSerializer xs
= new System.Xml.Serialization.XmlSerializer(this.GetType());
StreamWriter writer = File.CreateText(file);
xs.Serialize(writer, this);
writer.Flush();
writer.Close();
Logger.Log("Configuration saved");
}
public static Config Deserialize()
{
if (!File.Exists(file))
return new Config();
System.Xml.Serialization.XmlSerializer xs
= new System.Xml.Serialization.XmlSerializer(
typeof(Config));
StreamReader reader = File.OpenText(file);
Config c = (Config)xs.Deserialize(reader);
reader.Close();
Logger.Log("Configuration loaded");
return c;
}
}
}