Beispiel #1
0
 public void LoadSettingsFromConfiguration(IServiceProvider services, Platform platform)
 {
     platform.Name = this.Name !;
     if (!string.IsNullOrEmpty(MemoryMapFile))
     {
         var cfgSvc   = services.RequireService <IConfigurationService>();
         var fsSvc    = services.RequireService <IFileSystemService>();
         var listener = services.RequireService <DecompilerEventListener>();
         try
         {
             var filePath = cfgSvc.GetInstallationRelativePath(MemoryMapFile !);
             using var stm      = fsSvc.CreateFileStream(filePath, FileMode.Open, FileAccess.Read);
             platform.MemoryMap = MemoryMap_v1.Deserialize(stm);
         }
         catch (Exception ex)
         {
             listener.Error(ex, "Unable to open memory map file '{0}.", MemoryMapFile !);
         }
     }
     platform.PlatformProcedures = LoadPlatformProcedures(platform);
     platform.Description        = this.Description !;
     platform.Heuristics         = LoadHeuristics(this.Heuristics);
 }