/[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 85 by william, Tue Jun 19 03:38:40 2012 UTC revision 110 by william, Thu Aug 23 02:44:26 2012 UTC
# Line 9  using System.Xml; Line 9  using System.Xml;
9    
10  namespace EmuXPortal.Api  namespace EmuXPortal.Api
11  {  {
12      public interface IEmuConfig : IComparable      public interface IEmuConfig : IComparable<IEmuConfig>, IDisposable
13      {      {
14          string ConfigPath { get; }          string ConfigPath { get; }
15          string PlatformNameShort { get; }          string PlatformNameShort { get; }
# Line 32  namespace EmuXPortal.Api Line 32  namespace EmuXPortal.Api
32    
33    
34          void RefreshConfig();          void RefreshConfig();
35            void ReleasePlatformImageResource();
36      }      }
37    
38    
# Line 78  namespace EmuXPortal.Api Line 79  namespace EmuXPortal.Api
79          #endregion          #endregion
80    
81          #region private class EmuConfig : IEmuConfig          #region private class EmuConfig : IEmuConfig
82          private class EmuConfig : IEmuConfig, IComparable          private class EmuConfig : IEmuConfig, IComparable<IEmuConfig>, IDisposable
83          {          {
84              public IEmuConfig Create(string rom_path) { return this.Create(string.Empty, rom_path); }              public IEmuConfig Create(string rom_path) { return this.Create(string.Empty, rom_path); }
85              public IEmuConfig Create(string config_path, string rom_path)              public IEmuConfig Create(string config_path, string rom_path)
# Line 128  namespace EmuXPortal.Api Line 129  namespace EmuXPortal.Api
129                                              if (reader.IsStartElement())                                              if (reader.IsStartElement())
130                                              {                                              {
131                                                  string platform_image = reader.ReadElementContentAsString();                                                  string platform_image = reader.ReadElementContentAsString();
132                                                  PlatformImage = (platform_image == "") ? Properties.Resources.DefaultPlatformImage : Image.FromFile(string.Format(@"{0}\{1}", rom_path, platform_image));                                                  PlatformImage = (platform_image == "") ? null : Image.FromFile(string.Format(@"{0}\{1}", rom_path, platform_image));
133                                                  string str_platform_image = (platform_image == "") ? "DefaultPlatformImage" : platform_image;                                                  string str_platform_image = (platform_image == "") ? "DefaultPlatformImage" : platform_image;
134                                                  logger.WriteLine("\t\tPLATFORMIMAGE={0}", str_platform_image);                                                  logger.WriteLine("\t\tPLATFORMIMAGE={0}", str_platform_image);
135                                              }                                              }
# Line 321  namespace EmuXPortal.Api Line 322  namespace EmuXPortal.Api
322              public string GameImage { get; set; }              public string GameImage { get; set; }
323              public string GameExe { get; set; }              public string GameExe { get; set; }
324              public string GameExeArgs { get; set; }              public string GameExeArgs { get; set; }
325    
326                public void ReleasePlatformImageResource()
327                {
328                    if (this.PlatformImage != null)
329                        this.PlatformImage.Dispose();
330                }
331              #endregion              #endregion
332    
333              public override string ToString()              public override string ToString()
# Line 329  namespace EmuXPortal.Api Line 336  namespace EmuXPortal.Api
336              }              }
337              #region IComparable Members              #region IComparable Members
338    
339              public int CompareTo(object obj)              public int CompareTo(IEmuConfig obj)
340              {              {
341                  return this.PlatformNameLong.CompareTo((obj as EmuConfig).PlatformNameLong);                  return this.PlatformNameLong.CompareTo(obj.PlatformNameLong);
342              }              }
343              public void RefreshConfig()              public void RefreshConfig()
344              {              {
# Line 339  namespace EmuXPortal.Api Line 346  namespace EmuXPortal.Api
346                  this.Create(EmuRomPath);                  this.Create(EmuRomPath);
347              }              }
348              #endregion              #endregion
349    
350                public void Dispose()
351                {
352                    if (this.PlatformImage != null)
353                        this.PlatformImage.Dispose();
354                }
355          }          }
356          #endregion          #endregion
357    

Legend:
Removed from v.85  
changed lines
  Added in v.110

  ViewVC Help
Powered by ViewVC 1.1.22