/******************************************************************************* * Copyright (c) 2016 ARM Ltd. and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * ARM Ltd and ARM Germany GmbH - Initial API and implementation *******************************************************************************/ package com.arm.cmsis.pack.dsq; import java.util.Collection; /** * Interface of Debug Sequence Engine that parses and executes debug sequences */ public interface IDsqEngine extends IDsqApiVersion { /** * Get the sequence name list * @return A list of sequence names provided by the engine, or an empty array * @throws DsqException throws exception if there is problem while parsing the model */ Collection<String> getDefaultSequenceNames() throws DsqException; /** * Check if a sequence is disabled * @param seqName Name of the sequence * @return True if the sequence is disabled * @throws DsqException throws exception if there is problem while parsing the model */ boolean isSequenceDisabled(String seqName) throws DsqException; /** * Executes sequence * @param seqContext sequence to execute * @throws DsqException throws exception if there is problem while parsing the model */ void execute(IDsqSequence seqContext) throws DsqException; /** * Generate the script code to run on Debug Server * @param generatorID ID of the script generator * @param header script code of includes and imports * @return The script code to run on Debug Server * @throws DsqException throws exception if there is problem while parsing the model */ String generateCode(String generatorID, String header) throws DsqException; }