void IBinaryXmlElement.Read(BinaryXmlReader reader)
        {
            id              = reader.ReadStringValue("id");
            ns              = reader.ReadStringValue("ns");
            isroot          = reader.ReadBooleanValue("isroot");
            name            = reader.ReadStringValue("name");
            version         = reader.ReadStringValue("version");
            compatVersion   = reader.ReadStringValue("compatVersion");
            hasUserId       = reader.ReadBooleanValue("hasUserId");
            author          = reader.ReadStringValue("author");
            url             = reader.ReadStringValue("url");
            copyright       = reader.ReadStringValue("copyright");
            description     = reader.ReadStringValue("description");
            category        = reader.ReadStringValue("category");
            basePath        = reader.ReadStringValue("basePath");
            sourceAddinFile = reader.ReadStringValue("sourceAddinFile");
            mainModule      = (ModuleDescription)reader.ReadValue("MainModule");
            optionalModules = (ModuleCollection)reader.ReadValue("OptionalModules", new ModuleCollection(this));
            nodeSets        = (ExtensionNodeSetCollection)reader.ReadValue("NodeSets", new ExtensionNodeSetCollection(this));
            extensionPoints = (ExtensionPointCollection)reader.ReadValue("ExtensionPoints", new ExtensionPointCollection(this));
            conditionTypes  = (ConditionTypeDescriptionCollection)reader.ReadValue("ConditionTypes", new ConditionTypeDescriptionCollection(this));

            if (mainModule != null)
            {
                mainModule.SetParent(this);
            }
        }
Exemple #2
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     folder = reader.ReadStringValue("folder");
     reader.ReadValue("files", files);
     domain       = reader.ReadStringValue("domain");
     sharedFolder = reader.ReadBooleanValue("sharedFolder");
 }
 internal override void Read(BinaryXmlReader reader)
 {
     assemblies   = (StringCollection)reader.ReadValue("Assemblies", new StringCollection());
     dataFiles    = (StringCollection)reader.ReadValue("DataFiles", new StringCollection());
     dependencies = (DependencyCollection)reader.ReadValue("Dependencies", new DependencyCollection(this));
     extensions   = (ExtensionCollection)reader.ReadValue("Extensions", new ExtensionCollection(this));
 }
Exemple #4
0
 public object ReadObject(string file, BinaryXmlTypeMap typeMap)
 {
     using (Stream s = OpenRead(file)) {
         BinaryXmlReader reader = new BinaryXmlReader(s, typeMap);
         return(reader.ReadValue("data"));
     }
 }
Exemple #5
0
        void IBinaryXmlElement.Read(BinaryXmlReader reader)
        {
            id              = reader.ReadStringValue("id");
            ns              = reader.ReadStringValue("ns");
            isroot          = reader.ReadBooleanValue("isroot");
            name            = reader.ReadStringValue("name");
            version         = reader.ReadStringValue("version");
            compatVersion   = reader.ReadStringValue("compatVersion");
            hasUserId       = reader.ReadBooleanValue("hasUserId");
            author          = reader.ReadStringValue("author");
            url             = reader.ReadStringValue("url");
            copyright       = reader.ReadStringValue("copyright");
            description     = reader.ReadStringValue("description");
            category        = reader.ReadStringValue("category");
            basePath        = reader.ReadStringValue("basePath");
            sourceAddinFile = reader.ReadStringValue("sourceAddinFile");
            defaultEnabled  = reader.ReadBooleanValue("defaultEnabled");
            domain          = reader.ReadStringValue("domain");
            mainModule      = (ModuleDescription)reader.ReadValue("MainModule");
            optionalModules = (ModuleCollection)reader.ReadValue("OptionalModules", new ModuleCollection(this));
            nodeSets        = (ExtensionNodeSetCollection)reader.ReadValue("NodeSets", new ExtensionNodeSetCollection(this));
            extensionPoints = (ExtensionPointCollection)reader.ReadValue("ExtensionPoints", new ExtensionPointCollection(this));
            conditionTypes  = (ConditionTypeDescriptionCollection)reader.ReadValue("ConditionTypes", new ConditionTypeDescriptionCollection(this));
            fileInfo        = (object[])reader.ReadValue("FilesInfo", null);
            localizer       = (ExtensionNodeDescription)reader.ReadValue("Localizer");
            flags           = (AddinFlags)reader.ReadInt32Value("flags");
            properties      = (AddinPropertyCollectionImpl)reader.ReadValue("Properties", new AddinPropertyCollectionImpl());

            if (mainModule != null)
            {
                mainModule.SetParent(this);
            }
        }
Exemple #6
0
        public static AddinScanDataIndex LoadFromFolder(IProgressStatus monitor, string path)
        {
            var file = Path.Combine(path, "dir.addindata");

            if (File.Exists(file))
            {
                try {
                    using (Stream s = File.OpenRead(file)) {
                        BinaryXmlReader reader = new BinaryXmlReader(s, typeMap);
                        reader.ContextData = file;
                        return((AddinScanDataIndex)reader.ReadValue("data"));
                    }
                } catch (Exception ex) {
                    if (monitor != null)
                    {
                        monitor.ReportError("Could not load dir.addindata file", ex);
                    }
                    // The addindata file is corrupted or changed format.
                    // It is not useful anymore, so remove it
                    try {
                        File.Delete(file);
                    } catch {
                        // Ignore error deleting. Maybe there is a permission issue.
                    }
                }
            }
            return(null);
        }
Exemple #7
0
        void IBinaryXmlElement.Read(BinaryXmlReader reader)
        {
            file = (string)reader.ContextData;

            reader.ReadValue("files", files);

            // Generate absolute paths

            var basePath = Path.GetDirectoryName(file);

            foreach (var f in files)
            {
                f.FileName = Path.GetFullPath(Path.Combine(basePath, f.RelativeFileName));
            }

            var asms = (string[])reader.ReadValue("assemblies");

            // Generate absolute paths

            for (int n = 0; n < asms.Length; n++)
            {
                asms [n] = Path.GetFullPath(Path.Combine(basePath, asms [n]));
            }

            assemblies = new List <string> (asms);
        }
Exemple #8
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     File      = reader.ReadStringValue("File");
     LastScan  = reader.ReadDateTimeValue("LastScan");
     AddinId   = reader.ReadStringValue("AddinId");
     IsRoot    = reader.ReadBooleanValue("IsRoot");
     ScanError = reader.ReadBooleanValue("ScanError");
 }
 internal override void Read(BinaryXmlReader reader)
 {
     name     = reader.ReadStringValue("name");
     type     = reader.ReadStringValue("type");
     required = reader.ReadBooleanValue("required");
     if (!reader.IgnoreDescriptionData)
     {
         description = reader.ReadStringValue("description");
     }
 }
Exemple #10
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     File        = reader.ReadStringValue("File");
     LastScan    = reader.ReadDateTimeValue("LastScan");
     AddinId     = reader.ReadStringValue("AddinId");
     IsRoot      = reader.ReadBooleanValue("IsRoot");
     ScanError   = reader.ReadBooleanValue("ScanError");
     Domain      = reader.ReadStringValue("Domain");
     IgnorePaths = (StringCollection)reader.ReadValue("IgnorePaths", new StringCollection());
 }
        internal override void Read(BinaryXmlReader reader)
        {
            // We can assume that paths read from a binary files are always normalized

            assemblies   = (StringCollection)reader.ReadValue("Assemblies", new StringCollection());
            dataFiles    = (StringCollection)reader.ReadValue("DataFiles", new StringCollection());
            dependencies = (DependencyCollection)reader.ReadValue("Dependencies", new DependencyCollection(this));
            extensions   = (ExtensionCollection)reader.ReadValue("Extensions", new ExtensionCollection(this));
            ignorePaths  = (StringCollection)reader.ReadValue("IgnorePaths", new StringCollection());
        }
 internal override void Read(BinaryXmlReader reader)
 {
     Id       = reader.ReadStringValue("Id");
     TypeName = reader.ReadStringValue("TypeName");
     if (!reader.IgnoreDescriptionData)
     {
         Description = reader.ReadStringValue("Description");
     }
     AddinId = reader.ReadStringValue("AddinId");
 }
 internal override void Read(BinaryXmlReader reader)
 {
     base.Read(reader);
     typeName       = reader.ReadStringValue("typeName");
     objectTypeName = reader.ReadStringValue("objectTypeName");
     if (!reader.IgnoreDescriptionData)
     {
         description = reader.ReadStringValue("description");
     }
     addinId = reader.ReadStringValue("addinId");
     if (!reader.IgnoreDescriptionData)
     {
         attributes = (NodeTypeAttributeCollection)reader.ReadValue("Attributes", new NodeTypeAttributeCollection(this));
     }
 }
Exemple #14
0
 internal override void Read(BinaryXmlReader reader)
 {
     path = reader.ReadStringValue("path");
     name = reader.ReadStringValue("name");
     if (!reader.IgnoreDescriptionData)
     {
         description = reader.ReadStringValue("description");
     }
     rootAddin  = reader.ReadStringValue("rootAddin");
     addins     = (StringCollection)reader.ReadValue("addins", new StringCollection());
     nodeSet    = (ExtensionNodeSet)reader.ReadValue("NodeSet");
     conditions = (ConditionTypeDescriptionCollection)reader.ReadValue("Conditions", new ConditionTypeDescriptionCollection(this));
     if (nodeSet != null)
     {
         nodeSet.SetParent(this);
     }
 }
Exemple #15
0
        internal override void Read(BinaryXmlReader reader)
        {
            name     = reader.ReadStringValue("name");
            type     = reader.ReadStringValue("type");
            required = reader.ReadBooleanValue("required");
            if (!reader.IgnoreDescriptionData)
            {
                description = reader.ReadStringValue("description");
            }
            localizable = reader.ReadBooleanValue("localizable");
            string ct = reader.ReadStringValue("contentType");

            try {
                ContentType = (ContentType)Enum.Parse(typeof(ContentType), ct);
            } catch {
                ContentType = ContentType.Text;
            }
        }
Exemple #16
0
        bool OpenFileForPath(string f, string objectId, BinaryXmlTypeMap typeMap, bool checkOnly, out object result)
        {
            result = null;

            if (!Exists(f))
            {
                return(false);
            }
            using (Stream s = OpenRead(f)) {
                BinaryXmlReader reader = new BinaryXmlReader(s, typeMap);
                reader.ReadBeginElement();
                string id = reader.ReadStringValue("id");
                if (objectId == null || objectId == id)
                {
                    if (!checkOnly)
                    {
                        result = reader.ReadValue("data");
                    }
                    return(true);
                }
            }
            return(false);
        }
Exemple #17
0
 internal override void Read(BinaryXmlReader reader)
 {
     base.Read(reader);
     id      = reader.ReadStringValue("id");
     version = reader.ReadStringValue("version");
 }
 internal virtual void Read(BinaryXmlReader reader)
 {
 }
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     Read(reader);
 }
 internal override void Read(BinaryXmlReader reader)
 {
     base.Read(reader);
     fullName = reader.ReadStringValue("fullName");
     package  = reader.ReadStringValue("package");
 }
Exemple #21
0
 internal override void Read(BinaryXmlReader reader)
 {
     nodeName   = reader.ReadStringValue("nodeName");
     attributes = (string[])reader.ReadValue("attributes");
     childNodes = (ExtensionNodeDescriptionCollection)reader.ReadValue("ChildNodes", new ExtensionNodeDescriptionCollection(this));
 }
Exemple #22
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     reader.ReadValue("index", index);
 }
Exemple #23
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     folder = reader.ReadStringValue("folder");
     reader.ReadValue("files", files);
 }
Exemple #24
0
 internal override void Read(BinaryXmlReader reader)
 {
     id        = reader.ReadStringValue("Id");
     nodeTypes = (ExtensionNodeTypeCollection)reader.ReadValue("NodeTypes", new ExtensionNodeTypeCollection(this));
     reader.ReadValue("NodeSets", NodeSets.InternalList);
 }
Exemple #25
0
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     RelativeFileName = reader.ReadStringValue("FileName");
     MD5 = reader.ReadStringValue("MD5");
 }
Exemple #26
0
        public void TestBinaryXml()
        {
            string filename = Path.GetTempFileName();

            TestData data = new TestData();

            data.Points.Add(new TestPoint()
            {
                X = 10.5, Y = 3.3
            });
            data.Points.Add(new TestPoint()
            {
                X = 12.5, Y = 7.7
            });
            data.Payees.Add(new Payee()
            {
                Id = 1, Name = "Costco"
            });
            data.Accounts.Add(new Account()
            {
                Id = 1, Name = "BECU"
            });
            data.Accounts.Add(new Account()
            {
                Id = 2, Name = "Discover", WebSite = "http://www.discover.com"
            });

            DataContractSerializer s = new DataContractSerializer(typeof(TestData));

            StringWriter      sw       = new StringWriter();
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent             = false;
            settings.OmitXmlDeclaration = true;
            using (XmlWriter w = XmlWriter.Create(sw, settings))
            {
                s.WriteObject(w, data);
            }

            // Compare readers textually...
            string expected = sw.ToString();
            string log      = null;

            // Deserialize using a normal XML reader.
            using (DebugXmlReader dr = new DebugXmlReader(XmlReader.Create(new StringReader(sw.ToString()))))
            {
                s.ReadObject(dr);
                log = dr.Log;
            }

            using (BinaryXmlWriter w = new BinaryXmlWriter(filename))
            {
                s.WriteObject(w, data);
            }

            try
            {
                Trace.WriteLine("========================================================================");
                string log2 = null;

                // Deserialize using our BinaryXmlReader and check that the BinaryXmlReader returns exactly the
                // same information as the normal XmlReader above.
                using (DebugXmlReader dr = new DebugXmlReader(new BinaryXmlReader(filename)))
                {
                    s.ReadObject(dr);
                    log2 = dr.Log;
                }

                // Theoretically if this passes then the subsequent tests below must pass because if this log is
                // identical then there is absolutely nothing different the BinaryXmlReader could do to
                // make the DataContractSerializer return a different result.
                AssertSameLines(log, log2);


                // Now load the binary stream into an XDocument and compare they are the same.
                using (BinaryXmlReader r = new BinaryXmlReader(filename))
                {
                    XDocument doc  = XDocument.Load(r);
                    string    xml  = doc.ToString();
                    XDocument doc2 = XDocument.Parse(expected);
                    expected = doc2.ToString();
                    AssertSameLines(expected, xml);
                }

                // Deserialize the object and compare the in-memory object graphs.
                using (BinaryXmlReader r = new BinaryXmlReader(filename))
                {
                    TestData copy = (TestData)s.ReadObject(r);
                    data.AssertSame(copy);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex.Message);
                throw;
            }

            File.Delete(filename);
        }
 void IBinaryXmlElement.Read(BinaryXmlReader reader)
 {
     Name   = reader.ReadStringValue("name");
     Locale = reader.ReadStringValue("locale");
     Value  = reader.ReadStringValue("value");
 }
Exemple #28
0
 internal override void Read(BinaryXmlReader reader)
 {
     path  = reader.ReadStringValue("path");
     nodes = (ExtensionNodeDescriptionCollection)reader.ReadValue("Nodes", new ExtensionNodeDescriptionCollection(this));
 }
Exemple #29
0
 public void Read(BinaryXmlReader reader)
 {
     fileName  = reader.ReadStringValue("fileName");
     timestamp = reader.ReadDateTimeValue("timestamp");
 }
Exemple #30
0
 /// <summary>
 /// Internal use only
 /// </summary>
 public void DumpFile(string file)
 {
     BinaryXmlReader.DumpFile(file);
 }