// Token: 0x06002826 RID: 10278 RVA: 0x000947CC File Offset: 0x000929CC public SlabManifest GetSlabManifest(SlabManifestType slabManifestType, LayoutType layout) { if (this.owaVersion == null) { return(this.slabManifests[slabManifestType.Name][layout]); } string name = slabManifestType.Name; Dictionary <LayoutType, SlabManifest> dictionary; if (!this.slabManifests.TryGetValue(name, out dictionary)) { dictionary = new Dictionary <LayoutType, SlabManifest>(); string rootPath = FolderConfiguration.Instance.RootPath; string manifestDiskRelativeFolderPath = ResourcePathBuilderUtilities.GetManifestDiskRelativeFolderPath(this.owaVersion); string text = name + ".xml"; if (File.Exists(Path.Combine(rootPath, manifestDiskRelativeFolderPath, text))) { SlabManifest slabManifest = SlabManifestLoader.Load(rootPath, text, new Action <string, Exception>(SlabManifestCollection.LogManifestExceptionToEventLogs), manifestDiskRelativeFolderPath); slabManifest.Type = slabManifestType; foreach (LayoutType key in SlabManifestCollection.layoutTypes) { dictionary.Add(key, slabManifest); } } foreach (LayoutType layoutType in SlabManifestCollection.layoutTypes) { string text2 = string.Concat(new object[] { name.ToLowerInvariant(), ".", layoutType, ".xml" }); if (File.Exists(Path.Combine(rootPath, manifestDiskRelativeFolderPath, text2))) { SlabManifest slabManifest2 = SlabManifestLoader.Load(rootPath, text2, new Action <string, Exception>(SlabManifestCollection.LogManifestExceptionToEventLogs), manifestDiskRelativeFolderPath); slabManifest2.Type = slabManifestType; dictionary.Add(layoutType, slabManifest2); } } Dictionary <string, Dictionary <LayoutType, SlabManifest> > dictionary2 = new Dictionary <string, Dictionary <LayoutType, SlabManifest> >(this.slabManifests); if (!dictionary2.ContainsKey(name)) { dictionary2[slabManifestType.Name] = dictionary; } this.slabManifests = dictionary2; } return(dictionary[layout]); }
// Token: 0x0600281A RID: 10266 RVA: 0x0009399C File Offset: 0x00091B9C public void Add(LayoutType layout, SlabManifest slabManifest) { string name = slabManifest.Type.Name; Dictionary <string, Dictionary <LayoutType, SlabManifest> > dictionary = this.slabManifests; dictionary = new Dictionary <string, Dictionary <LayoutType, SlabManifest> >(dictionary); Dictionary <LayoutType, SlabManifest> dictionary2; if (!dictionary.TryGetValue(name, out dictionary2)) { dictionary2 = new Dictionary <LayoutType, SlabManifest>(); } else { dictionary2 = new Dictionary <LayoutType, SlabManifest>(dictionary2); } dictionary2.Add(layout, slabManifest); dictionary[name] = dictionary2; this.slabManifests = dictionary; }