namespace uniflash {
	export class LPRFCore extends DSCore {
		//override
		readMemory(addr, typeSize, length, format) {
			return super.readMemory(addr, typeSize, length, format, { DoNotHandleUnlock: true });
		}

		exportMemoryAsCoff(ranges: uniflash.memory.Range[], filePath: string) {
			return super.exportMemoryAsCoff(ranges, filePath, { DoNotHandleUnlock: true });
		}

		exportMemoryAsBin(range: uniflash.memory.Range, mauSizeInBits, filePath: string) {
			return super.exportMemoryAsBin(range, mauSizeInBits, filePath, { DoNotHandleUnlock: true });
		}

		getResets() {
			return super.getResets({ keepAllResets: true });
		}

		performReset(reset: string) {
			let opts;
			if (reset === 'Board Reset' || reset === 'Board Reset (free run)' || reset === 'Reset Emulator') {
				opts = {
					DisconnectBeforeReset: true
				};
			}
			return super.performReset(reset, opts);
		}
	}
}