Esempio n. 1
0
 public void Serialize(Serialzer s)
 {
     s.PushUint(_magicCode);
     s.PushUint(_version);
     SerializeName.Serialize(s, _name);
     byte[] reserved = new byte[88];
     s.PushData(reserved);
 }
Esempio n. 2
0
 static public void Serialize(Serialzer s, string name)
 {
     s.PushData(System.Text.Encoding.Default.GetBytes(name));
     for (int i = 0; i < 32 - name.Length; i++)
     {
         s.PushByte(0);
     }
 }
 /// <summary>
 /// 字符串反序列化为对像
 /// </summary>
 public override object StringToObject(string str)
 {
     if (Serialzer != null)
     {
         return(Serialzer.DeserializeObject <Dictionary <string, object> >(str));
     }
     throw new Exception("没有可用的反序列化器组件。");
 }
 /// <summary>
 /// 对像序列化为字符串
 /// </summary>
 public override string ObjectToString(object obj)
 {
     if (Serialzer != null)
     {
         return(Serialzer.SerializeObject(obj));
     }
     throw new Exception("没有可用的序列化器组件。");
 }
Esempio n. 5
0
 public void Serialize(Serialzer s)
 {
     s.PushUint(_flag);
     s.PushUint(_reserved0);
     SerializeName.Serialize(s, _name);
     s.PushUint(_maxPktSize);
     s.PushUint(_bufNum);
     s.PushUint(_lenAddr);
     s.PushUint(_dataAddr);
     s.PushUShort(_srcId);
     s.PushUShort(_firstDb);
     s.PushUint(_reserved1);
 }
Esempio n. 6
0
        private void GenCoeFile()
        {
            Serialzer s = new Serialzer(0x10000);

            //节点属性域
            nodeAttr.Serialize(s);

            //发布域
            for (int i = 0; i < _resNum; i++)
            {
                pubRess[i].Serialize(s);
            }

            //订阅域域
            for (int i = 0; i < _resNum; i++)
            {
                subRess[i].Serialize(s);
            }

            FileStream   fStream = new FileStream(_path + "srio_source/config/" + "rmhal_psl.dat", FileMode.Create);
            StreamWriter writer  = new StreamWriter(fStream, Encoding.UTF8);
            Serialzer    p       = new Serialzer(s.ToArray());

            byte[] line  = new byte[lineBytes];
            int    count = 0;

            while (p.Position != p.Length)
            {
                count++;
                p.Read(line, 0, lineBytes);
                string str = string.Empty;
                for (int i = 0; i < lineBytes; i++)
                {
                    str += line[i].ToString("X2");
                }
                //Console.WriteLine(count.ToString() + ":" + str);
                writer.WriteLine(str);
            }
            writer.Flush();
            writer.Close();
        }