private string GetErrorString(AddressMap.AddResult result) { string rsrc; switch (result) { case AddressMap.AddResult.InternalError: rsrc = "str_ErrInternal"; break; case AddressMap.AddResult.InvalidValue: rsrc = "str_ErrInvalidValue"; break; case AddressMap.AddResult.OverlapExisting: rsrc = "str_ErrOverlapExisting"; break; case AddressMap.AddResult.OverlapFloating: rsrc = "str_ErrOverlapFloating"; break; case AddressMap.AddResult.StraddleExisting: rsrc = "str_ErrStraddleExisting"; break; default: Debug.Assert(false); rsrc = "str_ErrInternal"; break; } return((string)FindResource(rsrc)); // throws exception on failure }
private void SetErrorString(AddressMap.AddResult result) { ErrorMessageStr = GetErrorString(result); ShowErrorMessage = true; }
private AddressMap.AddressRegion TryCreateRegion(AddressMap.AddressRegion delRegion, int offset, int length, int addr, out AddressMap.AddResult result) { AddressMap tmpMap = mProject.AddrMap.Clone(); if (delRegion != null && !tmpMap.RemoveEntry(delRegion.Offset, delRegion.Length)) { Debug.Assert(false, "Failed to remove existing region"); result = AddressMap.AddResult.InternalError; return(null); } result = tmpMap.AddEntry(offset, length, addr); if (result != AddressMap.AddResult.Okay) { return(null); } AddressMap.AddressRegion newRegion = tmpMap.FindRegion(offset, length); if (newRegion == null) { // Shouldn't happen. Debug.Assert(false, "Failed to find region we just created"); result = AddressMap.AddResult.InternalError; return(null); } return(newRegion); }