示例#1
0
        // 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]);
        }
示例#2
0
        // 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;
        }