/[EmuXPortal]/trunk/EmuXPortal/Api/ConfigLoader.cs
ViewVC logotype

Contents of /trunk/EmuXPortal/Api/ConfigLoader.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15 - (show annotations) (download)
Tue Apr 3 21:39:47 2012 UTC (8 years, 3 months ago) by william
File size: 4011 byte(s)
add more logging in ConfigLoader

1 #define CONFIGURATION_TESTING // when defined will use config-dbg.ini, otherwise config.ini
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Text;
6 using System.Windows.Forms;
7 using System.Xml;
8 using System.IO;
9 using EmuXPortal.Logging;
10
11 namespace EmuXPortal.Api
12 {
13 public interface IConfigLoader
14 {
15 bool LoadConfig();
16 bool LoadConfig(string path);
17 }
18 public interface IConfig
19 {
20 string RomPath { get; }
21 string DisplayDevice { get; }
22 }
23 public static class Config
24 {
25 private static ConfigLoader loader = new ConfigLoader();
26 #region public class ConfigLoader : IConfigLoader
27 private class ConfigLoader : IConfigLoader, IConfig
28 {
29 private static string APP_PATH = Application.StartupPath;
30 #if CONFIGURATION_TESTING
31 private static string CONFIG_FILE = "config-dbg.ini";
32 #else
33 private static string CONFIG_FILE = "config.ini";
34 #endif
35 private static string CONFIG_FILE_PATH = string.Format(@"{0}\{1}", APP_PATH, CONFIG_FILE);
36 #region IConfigLoader Members
37 public bool LoadConfig() { return LoadConfig(CONFIG_FILE_PATH); }
38 public bool LoadConfig(string path)
39 {
40 bool loaded = false;
41 try
42 {
43 logger.WriteLine("Loading Config: {0}", path);
44 using (FileStream fs = new FileStream(CONFIG_FILE_PATH, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
45 {
46 using (XmlReader reader = XmlReader.Create(fs))
47 {
48 reader.ReadToFollowing("ROMPATH");
49 RomPath = reader.ReadElementContentAsString();
50 logger.WriteLine("\tROMPATH={0}", RomPath);
51 reader.ReadToFollowing("DISPLAYDEVICE");
52 DisplayDevice = reader.ReadElementContentAsString();
53 logger.WriteLine("\tDISPLAYDEVICE={0}", DisplayDevice);
54 }
55 }
56 logger.WriteLine("Loaded Config: {0}", path);
57 loaded = true;
58 }
59 catch (Exception ex)
60 {
61 logger.WriteLine("\tFailed to Load Config: {0}", path);
62 Console.WriteLine(ex.ToString());
63 logger.WriteLine("Error: {0}", ex.ToString());
64 loaded = false;
65 }
66 return loaded;
67 }
68 #endregion
69 #region IConfig Members
70 public string RomPath { get; private set; }
71 public string DisplayDevice { get; private set; }
72 #endregion
73 }
74 #endregion
75
76 #region IConfigLoader Members
77 public static bool LoadConfig() { return loader.LoadConfig(); }
78 public static bool LoadConfig(string path) { return loader.LoadConfig(path); }
79 #endregion
80
81 #region IConfig Members
82 public static string RomPath { get { return loader.RomPath; } }
83 public static string DisplayDevice { get { return loader.DisplayDevice; } }
84 #endregion
85 public static void InitializePresentationForm(Form frm)
86 {
87 DisplayHelper helper = new DisplayHelper(DisplayDevice);
88 logger.WriteLine("Initializing Form: {0}", frm.Name);
89 Screen s = helper.PhysicalDisplayDevice;
90 frm.Location = new System.Drawing.Point(s.Bounds.X,s.Bounds.Y);
91 logger.WriteLine("\tLocation={0}", frm.Location.ToString());
92 frm.Size = s.Bounds.Size;
93 logger.WriteLine("\tSize={0}", frm.Size.ToString());
94 logger.WriteLine("Initialized Form: {0}", frm.Name);
95 }
96 }
97
98
99 }

  ViewVC Help
Powered by ViewVC 1.1.22