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

Diff of /trunk/EmuXPortal/Api/EmuConfig.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 22 by william, Wed Apr 4 02:39:20 2012 UTC revision 24 by william, Wed Apr 4 03:10:52 2012 UTC
# Line 20  namespace EmuXPortal.Api Line 20  namespace EmuXPortal.Api
20          string EmuRomPath { get; set; }          string EmuRomPath { get; set; }
21      }      }
22    
23      
24    
25      public static class EmuConfigLoader      public static class EmuConfigLoader
26      {      {
27          private const string EMU_CONFIG = "emu.config"; // if this file signifies the emulator configuration          private const string EMU_CONFIG = "emu.config"; // if this file signifies the emulator configuration
28            #region load
29          public static IEmuConfig Load(string rom_path) { return Load(string.Empty, rom_path); }          public static IEmuConfig Load(string rom_path) { return Load(string.Empty, rom_path); }
30          public static IEmuConfig Load(string config_path, string rom_path)          public static IEmuConfig Load(string config_path, string rom_path)
31          {          {
# Line 91  namespace EmuXPortal.Api Line 93  namespace EmuXPortal.Api
93              else { logger.WriteLine("Could not find EMU Config File: {0}", config_path); }              else { logger.WriteLine("Could not find EMU Config File: {0}", config_path); }
94              return config;              return config;
95          }          }
96            #endregion
97            #region parse emu options
98            public static string GetEMUOptions(IRomConfig config)
99            {
100                EMUOptions EMUOptions = new EMUOptions(config);
101                return EMUOptions.Options;
102            }
103            #endregion
104            #region private class EMUOptions
105            private class EMUOptions
106            {
107                #region Replaceable Constant Options
108                private const string ROM_FILE = "%ROM_FILE%";
109                private const string ROM_PATH = "%ROM_PATH%";
110                #endregion
111                private Dictionary<string, string> options_dict = new Dictionary<string, string>();
112                public EMUOptions(IRomConfig config)
113                {
114                    init_dict(config);
115                    string options = config.Config.EmuOptions;
116                    string real_options = options;
117                    foreach (KeyValuePair<string, string> pair in options_dict) { if (options.ToLower().Contains(pair.Key.ToLower())) { real_options = real_options.ToLower().Replace(pair.Key.ToLower(), pair.Value); } }
118                    Options = real_options;
119                }
120                private void init_dict(IRomConfig config)
121                {
122                    options_dict.Add(ROM_FILE, config.RomFile);
123                    options_dict.Add(ROM_PATH, config.Config.EmuRomPath);
124                }
125                public string Options { get; set; }
126            }
127            #endregion
128    
129          #region private class EmuConfig : IEmuConfig          #region private class EmuConfig : IEmuConfig
130          private class EmuConfig : IEmuConfig          private class EmuConfig : IEmuConfig
131          {          {

Legend:
Removed from v.22  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.22