コード例 #1
0
        public static void DeleteDeviceNode(string xPath)
        {
            string path = Paths.AGENT_DEVICES;

            if (File.Exists(path))
            {
                var doc = XML.Files.ReadDocument(path);
                if (doc != null)
                {
                    var devicesNode = doc.SelectSingleNode("//Devices");

                    var node = doc.SelectSingleNode(xPath);
                    if (node != null && devicesNode != null)
                    {
                        node.InnerText = null;
                        node.InnerXml  = null;

                        node.RemoveAll();
                        devicesNode.RemoveChild(node);

                        // Check if node was only device
                        if (devicesNode.ChildNodes.Count == 0)
                        {
                            XML.Nodes.Add(doc, "//Devices/Device");
                            XML.Attributes.Set(doc, "//Devices/Device", "id", "dummy");
                            XML.Attributes.Set(doc, "//Devices/Device", "uuid", "dummy");
                            XML.Attributes.Set(doc, "//Devices/Device", "name", "dummy");
                        }

                        XML.Files.WriteDocument(doc, path, true);

                        AgentManagement.Restart();
                    }
                }
            }
        }
コード例 #2
0
        public static void WriteDeviceNode(XmlNode node)
        {
            string path = Paths.AGENT_DEVICES;

            try
            {
                if (File.Exists(path))
                {
                    var doc = XML.Files.ReadDocument(path);
                    if (doc != null)
                    {
                        var root = doc.DocumentElement;

                        var devices = root.SelectSingleNode("Devices");

                        var importNode = doc.ImportNode(node, true);
                        devices.AppendChild(importNode);

                        var dummyNode = doc.SelectSingleNode("//Device[@id=\"dummy\"]");
                        if (dummyNode != null)
                        {
                            dummyNode.InnerText = null;
                            dummyNode.InnerXml  = null;

                            dummyNode.RemoveAll();
                            devices.RemoveChild(dummyNode);
                        }

                        XML.Files.WriteDocument(doc, path);

                        AgentManagement.Restart();
                    }
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.Message); }
        }
コード例 #3
0
 public static void Restart()
 {
     AgentManagement.Stop();
     AgentManagement.Start();
 }