Projekt

Obecné

Profil

Stáhnout (2.25 KB) Statistiky
| Větev: | Tag: | Revize:
1
using System.Xml.Serialization;
2
using System;
3
using System.IO;
4

    
5
namespace DeltaRobotVr
6
{
7
    /// <summary>
8
    /// Singleton class responsible for providing configuration.
9
    /// </summary>
10
    [Serializable]
11
    public class ConfigurationProvider
12
    {
13
        private static readonly string Default_Config_File = "config.xml";
14
        public static readonly ConfigurationProvider Instance = new ConfigurationProvider();
15

    
16
        public float VisualizationTranslateX = 0.0f;
17
        public float VisualizationTranslateY = 0.0f;
18
        public float VisualizationTranslateZ = 0.0f;
19

    
20
        public float VisualizationScaleX = 1.0f;
21
        public float VisualizationScaleY = 1.0f;
22
        public float VisualizationScaleZ = 1.0f;
23

    
24
        public int Port = 4242;
25

    
26
        public string Host = "127.0.0.1";
27

    
28
        public string SceneName = "BasicRoomScene";
29

    
30

    
31
        static ConfigurationProvider()
32
        {
33
            Instance = loadConfiguration(Default_Config_File);
34
        }
35

    
36
        private ConfigurationProvider()
37
        {
38
        }
39

    
40
        /// <summary>
41
        /// Load ConfigurationProvider instance from file.
42
        /// </summary>
43
        /// <param name="fileName">File to load configuration from</param>
44
        /// <returns></returns>
45
        private static ConfigurationProvider loadConfiguration(String fileName)
46
        {
47
            XmlSerializer serializer = new XmlSerializer(typeof(ConfigurationProvider));
48

    
49
            ConfigurationProvider cp;
50

    
51
            using (Stream reader = new FileStream(fileName, FileMode.Open))
52
            {
53
                cp = (ConfigurationProvider)serializer.Deserialize(reader);
54
            }
55

    
56
            return cp;
57
        }
58

    
59
        /// <summary>
60
        /// Save ConfigurationProvider instance to file.
61
        /// </summary>
62
        /// <param name="cp">ConfigurationProvider instance to save</param>
63
        /// <param name="fileName">File to save configuration to</param>
64
        private static void saveConfiguration(ConfigurationProvider cp, String fileName)
65
        {
66
            XmlSerializer serializer = new XmlSerializer(typeof(ConfigurationProvider));
67

    
68
            using (Stream writer = new FileStream(fileName, FileMode.Create))
69
            {
70
                serializer.Serialize(writer, cp);
71
            }
72
        }
73

    
74
    }
75
}
(4-4/13)