Esempio n. 1
0
        /// <summary>
        /// Read mapfile from disk
        /// </summary>
        public MapFile(string path)
        {
            XDocument map;

            using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                map = CompressedXml.Load(fileStream);
            }

            foreach (var element in map.Root.Elements("scope"))
            {
                scopes.Add(new ScopeEntry(element));
            }

            foreach (var type in map.Root.Elements("type"))
            {
                Add(new TypeEntry(type));
            }

            foreach (var element in map.Root.Elements("document"))
            {
                var doc = new Document(element);
                documents.Add(doc.Path, doc);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Create from a reader.
        /// </summary>
        public FrameworkTypeMap(Stream stream)
        {
            var doc = CompressedXml.Load(stream);

            foreach (var element in doc.Root.Elements("type"))
            {
                var entry = new TypeEntry(element);
                typeMap[entry.ClassName] = entry;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Save to the given path.
        /// </summary>
        public void Save(string path)
        {
            var folder = Path.GetDirectoryName(path);

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            // Create xml
            var document = ToXml();

            // Save to disk
            using (var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write))
            {
                CompressedXml.WriteTo(document, fileStream, Encoding.UTF8);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Read mapfile from disk
        /// </summary>
        public MapFile(string path)
        {
            XDocument map;

            using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                map = CompressedXml.Load(fileStream);
            }

            typesByDexName = new Dictionary <string, TypeEntry>();
            foreach (var type in map.Root.Elements("type"))
            {
                Add(new TypeEntry(type));
            }

            foreach (var element in map.Root.Elements("document"))
            {
                var doc = new Document(element);
                documents.Add(doc.Path.ToLowerInvariant(), doc);
            }
        }