/[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 126 by william, Thu Aug 23 04:47:35 2012 UTC revision 175 by william, Mon Aug 4 06:31:48 2014 UTC
# Line 11  namespace EmuXPortal.Api Line 11  namespace EmuXPortal.Api
11  {  {
12      public interface IEmuConfig : IComparable<IEmuConfig>, IDisposable      public interface IEmuConfig : IComparable<IEmuConfig>, IDisposable
13      {      {
14            bool IsFavorites { get; }
15          string ConfigPath { get; }          string ConfigPath { get; }
16          string PlatformNameShort { get; }          string PlatformNameShort { get; }
17          string PlatformNameLong { get; }          string PlatformNameLong { get; }
# Line 33  namespace EmuXPortal.Api Line 34  namespace EmuXPortal.Api
34    
35          void RefreshConfig(logger log);          void RefreshConfig(logger log);
36          void ReleasePlatformImageResource();          void ReleasePlatformImageResource();
37      }      }    
   
   
38    
39      public static class EmuConfigLoader      public static class EmuConfigLoader
40      {      {
# Line 84  namespace EmuXPortal.Api Line 83  namespace EmuXPortal.Api
83              public IEmuConfig Create(logger log, string rom_path) { return this.Create(log, string.Empty, rom_path); }              public IEmuConfig Create(logger log, string rom_path) { return this.Create(log, string.Empty, rom_path); }
84              public IEmuConfig Create(logger log, string config_path, string rom_path)              public IEmuConfig Create(logger log, string config_path, string rom_path)
85              {              {
86                  EmuRomPath = rom_path;                  if (rom_path == "")
87                  if (config_path == "") { config_path = string.Format(@"{0}\{1}", rom_path, EMU_CONFIG); }                  {
88                        if (config_path != "")
89                        {
90                            EmuRomPath = config_path.Replace(EMU_CONFIG, "").TrimEnd(new char[] { '\\' });
91                        }
92                        else
93                        {
94                            EmuRomPath = Config.RomPath;
95                        }
96                    }
97                    else { EmuRomPath = rom_path; }
98                    if (config_path == "")
99                    {
100                        config_path = string.Format(@"{0}\{1}", EmuRomPath, EMU_CONFIG);
101                    }
102                
103                  // read the actual config emu.config                  // read the actual config emu.config
104                  FileInfo fi = new FileInfo(config_path);                  FileInfo fi = new FileInfo(config_path);
105                  if (fi.Exists)                  if (fi.Exists)
# Line 129  namespace EmuXPortal.Api Line 142  namespace EmuXPortal.Api
142                                              if (reader.IsStartElement())                                              if (reader.IsStartElement())
143                                              {                                              {
144                                                  string platform_image = reader.ReadElementContentAsString();                                                  string platform_image = reader.ReadElementContentAsString();
145                                                  PlatformImage = (platform_image == "") ? null : Image.FromFile(string.Format(@"{0}\{1}", rom_path, platform_image));                                                  PlatformImage = (platform_image == "") ? null : Image.FromFile(string.Format(@"{0}\{1}", EmuRomPath, platform_image));
146                                                  string str_platform_image = (platform_image == "") ? "DefaultPlatformImage" : platform_image;                                                  string str_platform_image = (platform_image == "") ? "DefaultPlatformImage" : platform_image;
147                                                  log.WriteLine("\t\tPLATFORMIMAGE={0}", str_platform_image);                                                  log.WriteLine("\t\tPLATFORMIMAGE={0}", str_platform_image);
148                                              }                                              }
# Line 203  namespace EmuXPortal.Api Line 216  namespace EmuXPortal.Api
216                                                  //EmuOptions = (external_configs_path == "") ? EmuOptions : value;                                                  //EmuOptions = (external_configs_path == "") ? EmuOptions : value;
217                                                  log.WriteLine("\tEXTERNALCONFIGSPATH={0}", external_configs_path);                                                  log.WriteLine("\tEXTERNALCONFIGSPATH={0}", external_configs_path);
218                                                  DirectoryInfo ext_path = new DirectoryInfo(external_configs_path);                                                  DirectoryInfo ext_path = new DirectoryInfo(external_configs_path);
219                                                  string ext_rom_path = string.Format(@"{0}\{1}", rom_path, external_configs_path);                                                  string ext_rom_path = string.Format(@"{0}\{1}", EmuRomPath, external_configs_path);
220                                                  // try the path in romroot                                                  // try the path in romroot
221                                                  if (!ext_path.Exists) { ext_path = new DirectoryInfo(ext_rom_path); }                                                  if (!ext_path.Exists) { ext_path = new DirectoryInfo(ext_rom_path); }
222                                                  if (ext_path.Exists)                                                  if (ext_path.Exists)
# Line 216  namespace EmuXPortal.Api Line 229  namespace EmuXPortal.Api
229                                                          external_config_files.Sort(); // sort the files (they should already be sorted alphabetically by GetFiles())                                                          external_config_files.Sort(); // sort the files (they should already be sorted alphabetically by GetFiles())
230                                                      foreach (string file in external_config_files)                                                      foreach (string file in external_config_files)
231                                                      {                                                      {
232                                                          IEmuConfig config = EmuConfigLoader.Load(log, file, rom_path);                                                          IEmuConfig config = EmuConfigLoader.Load(log, file, EmuRomPath);
233                                                          if (config != null)                                                          if (config != null)
234                                                              externalconfigs.Add(config);                                                              externalconfigs.Add(config);
235                                                      }                                                      }
# Line 276  namespace EmuXPortal.Api Line 289  namespace EmuXPortal.Api
289                  this.log = log;                  this.log = log;
290              }              }
291              #region IEmuConfig members              #region IEmuConfig members
292                public bool IsFavorites { get { return false; } }
293              public string ConfigPath { get; set; }              public string ConfigPath { get; set; }
294              private string _PlatformNameShort;              private string _PlatformNameShort;
295              public string PlatformNameShort              public string PlatformNameShort

Legend:
Removed from v.126  
changed lines
  Added in v.175

  ViewVC Help
Powered by ViewVC 1.1.22