Example #1
0
        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;
        }
Example #2
0
        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);
                }
            }
        }