public Table(ModuleSpace space, XmlElement self) { Space = space; Name = self.GetAttribute("name").Trim(); space.Add(this); Key = self.GetAttribute("key"); Value = self.GetAttribute("value"); Gen = self.GetAttribute("gen"); string attr = self.GetAttribute("memory"); IsMemory = attr.Length > 0 ? bool.Parse(attr) : false; attr = self.GetAttribute("autokey"); IsAutoKey = attr.Length > 0 ? bool.Parse(attr) : false; }
public Protocol(ModuleSpace space, XmlElement self) { Space = space; Name = self.GetAttribute("name").Trim(); space.Add(this); string attr = self.GetAttribute("id"); Id = attr.Length > 0 ? ushort.Parse(attr) : Zeze.Transaction.Bean.Hash16(space.Path(".", Name)); space.ProtocolIdRanges.CheckAdd(Id); Argument = self.GetAttribute("argument"); Handle = self.GetAttribute("handle"); HandleFlags = Program.ToHandleFlags(Handle); NoProcedure = "true".Equals(self.GetAttribute("NoProcedure")); XmlNodeList childNodes = self.ChildNodes; foreach (XmlNode node in childNodes) { if (XmlNodeType.Element != node.NodeType) { continue; } XmlElement e = (XmlElement)node; String nodename = e.Name; switch (e.Name) { case "enum": Add(new Types.Enum(e)); break; default: throw new Exception("node=" + nodename); } } }