예제 #1
0
    public static void Main()
    {
        Eina.Config.Init();

        var bytes = new byte[] { 0, 1, 2, 3, 4, 5, 6 };

        var bb = new Eina.Binbuf();

        // Append initial bytes
        bb.Append(bytes);

        WriteLine("Printing each byte.");

        int idx = 0;

        foreach (byte b in bb.GetBytes())
        {
            WriteLine($"byte at[{idx}]: {b}");
            ++idx;
        }

        // Append more byte by byte
        bb.Append((byte)7);
        bb.Append((byte)8);
        bb.Append((byte)9);
        bb.Append((byte)0);

        WriteLine("\nPrinting each byte.");

        idx = 0;
        foreach (byte b in bb.GetBytes())
        {
            WriteLine($"byte at[{idx}]: {b}");
            ++idx;
        }

        // Remove some
        bb.Remove(2, 5);

        WriteLine("\nPrinting each byte.");

        idx = 0;
        foreach (byte b in bb.GetBytes())
        {
            WriteLine($"byte at[{idx}]: {b}");
            ++idx;
        }

        // Insert new bytes in the middle
        bb.Insert(new byte[] { 22, 33, 44 }, 2);

        WriteLine("\nPrinting each byte.");

        idx = 0;
        foreach (byte b in bb.GetBytes())
        {
            WriteLine($"byte at[{idx}]: {b}");
            ++idx;
        }
    }
예제 #2
0
        public bool binbuf_in_own_still_usable()
        {
            bool r = binbuf_in_own_binbuf.GetBytes().SequenceEqual(new byte[] { 43, 42, 0x0, 0x2A, 0x42, 33 });

            r = r && binbuf_in_own_binbuf.Own;

            binbuf_in_own_binbuf.Dispose();
            binbuf_in_own_binbuf = null;

            return(r);
        }
예제 #3
0
        public bool binbuf_return_still_usable()
        {
            bool r = binbuf_return_binbuf.GetBytes().SequenceEqual(BaseSequence.Values());

            r = r && binbuf_return_binbuf.Own;

            binbuf_return_binbuf.Dispose();
            binbuf_return_binbuf = null;

            return(r);
        }
예제 #4
0
        override public bool EinaBinbufInOwn(Eina.Binbuf binbuf)
        {
            binbuf_in_own_flag = true;

            bool r = binbuf.GetBytes().SequenceEqual(BaseSequence.Values());

            r = r && binbuf.Own;

            binbuf.Insert(42, 0);
            binbuf.Insert(43, 0);
            binbuf.Append(33);

            binbuf_in_own_binbuf = binbuf;

            return(r);
        }