Example #1
0
        public void WriteDouble(double val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteDouble(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadDouble());
        }
Example #2
0
        public void WriteSingle(float val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteSingle(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadSingle());
        }
Example #3
0
        public void WriteBool(bool val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteBool(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadBool());
        }
Example #4
0
        public void WriteChar(char val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteChar(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadChar());
        }
Example #5
0
        public void WriteUInt16(ushort val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteUInt16(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadUInt16());
        }
Example #6
0
        public void WriteInt32(int val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteInt32(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadInt32());
        }
    public static void SubscriberCallback(Zenoh.Net.Sample sample)
    {
        CDRReader reader  = new CDRReader(sample.Payload);
        var       userID  = reader.ReadInt32();
        var       message = reader.ReadString();

        Console.WriteLine("=== [Subscriber] Received : Message ({0}, {1})",
                          userID,
                          message);
    }
Example #8
0
        public void WriteString(string val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteString(val);
            Assert.Equal(4 + 4 + val.Length + 1, writer.GetBuffer().Length);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadString());
        }
Example #9
0
        public void CDRBEHeader()
        {
            var buf = new byte[] {
                0x00, 0x00, 0x0C, 0x0D
            };
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(RepresentationId.CDR_BE, reader.ReprId);
            Assert.Equal(0x0C0D, reader.ReprOpt);
            Assert.False(reader.IsLittleEndian);
        }
Example #10
0
        public void CDRLEHeader()
        {
            var buf = new byte[] {
                0x00, 0x01, 0x0A, 0x0B
            };
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(RepresentationId.CDR_LE, reader.ReprId);
            Assert.Equal(0x0A0B, reader.ReprOpt);
            Assert.True(reader.IsLittleEndian);
        }
Example #11
0
        public RiffParserDemo2()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            // Initialize parser instance
            rp = new RiffParser();
            dh = new DecodeHeader(rp);
            cr = new CDRReader(rp);
        }
Example #12
0
        public void UnsupportedHeader()
        {
            var buf = new byte[] {
                0x00, 0x02, 0x0C, 0x0D
            };

            try
            {
                CDRReader reader = new CDRReader(buf);
                Assert.True(false, "UnsupportedCDRRepresentation was expected");
            }
            catch (UnsupportedCDRRepresentation)
            {
                Assert.True(true);
            }
        }
Example #13
0
        public void BasicTypesAlignment()
        {
            var buf = new byte[] {
                0x00, 0x00, 0x00, 0x00,                          // Header
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // padding for 8-bytes alignment
                0x0A, 0x0B, 0x0C, 0X0D, 0x0E, 0x0F, 0x01, 0X02,  // uint64
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x0A, 0x0B, 0x0C, 0X0D,                          // uint32
                0xFF,                                            // 1 byte to force padding
                0x00,                                            // padding for 2-bytes alignment
                0x0A, 0x0B,                                      // uint16
                0xFF, 0xFF, 0xFF, 0xFF, 0xFF,                    // 5 bytes to force padding
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // padding for 8-bytes alignment
                0x3F, 0x84, 0x7A, 0xE1, 0x47, 0xAE, 0x14, 0x7B,  // double
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x3C, 0x23, 0xD7, 0x0A,                          // float
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x00, 0x00, 0x00, 0x0D,                          // "Hello World!"
                0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20,
                0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x00
            };

            CDRReader reader = new CDRReader(buf);

            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B0C0D0E0F0102UL, reader.ReadUInt64());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B0C0DU, reader.ReadUInt32());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B, reader.ReadUInt16());

            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0.01, reader.ReadDouble());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0.01f, reader.ReadSingle());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal("Hello World!", reader.ReadString());
        }
Example #14
0
    private void OutCallback(Zenoh.Net.Sample sample)
    {
        // received type: rcl_interfaces/msg/Log
        CDRReader reader = new CDRReader(sample.Payload);
        // builtin_interfaces/Time stamp => int32 sec + uint32 nanosec
        var stamp_sec     = reader.ReadInt32();
        var stamp_nanosec = reader.ReadUInt32();
        // uint8 level
        var level = reader.ReadByte();
        // string name
        var name = reader.ReadString();
        // string msg
        var msg = reader.ReadString();
        // string file
        var file = reader.ReadString();
        // string function
        var function = reader.ReadString();
        // uint32 line
        var line = reader.ReadUInt32();

        Console.WriteLine("[{0}.{1}] [{2}]: {3}", stamp_sec, stamp_nanosec, name, msg);
    }
Example #15
0
        public void ReadUInt64(ulong expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadUInt64());
        }
Example #16
0
        public void ReadSingle(float expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadSingle());
        }
Example #17
0
        public void ReadDouble(double expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadDouble());
        }
Example #18
0
        public void ReadChar(char expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadChar());
        }
Example #19
0
        public void ReadString(string expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadString());
        }
Example #20
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            String riffFile = String.Empty;
            String name     = (String)e.Argument;
            bool   m14      = false;

            if (!File.Exists(name))
            {
                return;
            }
            FileStream   fs = File.OpenRead(name);
            BinaryReader br = new BinaryReader(fs);

            byte[] hd = new byte[2];
            br.Read(hd, 0, 2);
            if (Encoding.UTF8.GetString(hd) == "RI")
            {
                riffFile = name;
            }
            else if (Encoding.UTF8.GetString(hd) == "PK")
            {
                m14 = true;
                ZipInputStream zis = new ZipInputStream(File.OpenRead(name));
                ZipEntry       theEntry;
                bool           d = false;
                while ((theEntry = zis.GetNextEntry()) != null)
                {
                    String fileName;
                    if (theEntry.Name == "content/riffData.cdr" || theEntry.Name == "content/root.dat")
                    {
                        fileName = Path.GetFileName(theEntry.Name);
                        String tmp = Path.GetTempPath();
                        riffFile = tmp + fileName;
                        FileStream   fs1  = File.Open(tmp + fileName, FileMode.OpenOrCreate);
                        BinaryWriter bw   = new BinaryWriter(fs1);
                        int          size = 2048;
                        byte[]       data = new byte[2048];
                        while (true)
                        {
                            size = zis.Read(data, 0, data.Length);
                            if (size > 0)
                            {
                                bw.Write(data, 0, size);
                            }
                            else
                            {
                                break;
                            }
                        }
                        bw.Close();
                        fs1.Close();
                        zis.Close();
                        d = true;
                        break;
                    }
                }
                if (!d)
                {
                    MessageBox.Show("文件格式错误!");
                    return;
                }
            }
            else
            {
                MessageBox.Show("文件格式错误!");
                return;
            }
            br.Close();
            fs.Close();
            if (m14)
            {
            }
            RiffParser rp = new RiffParser();

            rp.OpenFile(riffFile);
            CDRReader cr = new CDRReader(rp);

            cr.Read();

            /*CDRWriter cw = new CDRWriter();
             * CDRFile cf = cr.CDRFile;
             * cf.list = RiffConn.DelRiff<CDRbmkt>(cf.list);
             * //cf.list = RiffConn.DelRiff<CDRcolo>(cf.list);
             * cf.list = RiffConn.DelRiff<CDRsyst>(cf.list);
             * cw.SetCDRFile(cf);
             * cw.Write(name + "_1");*/
            listBox1.Items.Clear();
            listBox1.Items.Add("文件名:");
            listBox1.Items.Add("    " + Path.GetFileName(name));
            listBox1.Items.Add("文件版本:");
            listBox1.Items.Add(String.Format("    CorelDraw {0:d}", cr.CDRFile.Version));
            listBox1.Items.Add("保存版本:");
            listBox1.Items.Add(String.Format("    CorelDraw {0:d} 子版本:{1:d}", cr.CDRFile.SVersion, cr.CDRFile.BuildID));
            listBox1.Items.Add("位图数量:");
            listBox1.Items.Add(String.Format("    {0:d}", cr.CDRFile.BMPCount));
            listBox1.Items.Add("视图样式数量:");
            listBox1.Items.Add(String.Format("    {0:d}", cr.CDRFile.ViewCount));
            listBox1.Items.Add(String.Format("使用字体:数量:{0:d}", cr.CDRFile.fonts.Count));
            foreach (CDRFile.Fonts f in cr.CDRFile.fonts)
            {
                listBox1.Items.Add(String.Format("    {0:1}", f.name));
            }
            rp.CloseFile();
        }
Example #21
0
        public void ReadUInt32(uint expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadUInt32());
        }
Example #22
0
        public void Bool(bool expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadBool());
        }
Example #23
0
        public void ReadUInt16(ushort expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadUInt16());
        }