Ejemplo n.º 1
0
        /// <summary>
        /// Update
        /// </summary>
        /// <param name="index"></param>
        /// <param name="address"></param>
        /// <param name="length"></param>
        public void UpdateFBQE(int index, long address, long length)
        {
            FBQE f = GetFBQE(index);

            //VSDebug.StopPoint(length, 5004);
            // Change values and update trees
            if (address != f.ADDRESS_START)
            {
                BT_FBQE_Address.Delete(f.ADDRESS_START, (long)index);
                f.ADDRESS_START = address;
                BT_FBQE_Address.Insert(f.ADDRESS_START, (long)index);
            }

            if (length != f.LENGTH)
            {
                BT_FBQE_Size.Delete(f.LENGTH, (long)index);
                f.LENGTH      = length;
                f.ADDRESS_END = address + length;
                BT_FBQE_Size.Insert(f.LENGTH, (long)index);
            }

            // Update FBQE
            SerializeFBQE(f);
        }
Ejemplo n.º 2
0
        //////////////////// OTHER METHODS  ///////////////////////////////
        /// <summary>
        /// Delete field
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public bool Delete(string name)
        {
            int idx = find_field(name, 0);

            if (idx < 0)
            {
                return(false);
            }

            // Replace cache item with empty
            FieldCache f = new FieldCache();

            f.DELETED = true;
            FCache.RemoveAt(idx);
            FCache.Insert(idx, f);

            //Delete from the tree
            FCacheTree.Delete(name);

            this.serialize();

            return(true);
        }