/******************************************************************************* * Copyright (c) 2014 École Polytechnique de Montréal * * 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: * Geneviève Bastien - Initial API and implementation *******************************************************************************/ package org.eclipse.tracecompass.internal.tmf.analysis.xml.core.module; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.tracecompass.internal.tmf.analysis.xml.core.model.TmfXmlLocation; import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem; /** * Interface that all XML defined objects who provide, use or contain state * system must implement in order to use the state provider model elements in * {@link org.eclipse.tracecompass.internal.tmf.analysis.xml.core.model} package * * @author Geneviève Bastien */ public interface IXmlStateSystemContainer extends ITmfXmlTopLevelElement { /** Root quark, to get values at the root of the state system */ int ROOT_QUARK = -1; /** * Error quark, value taken when a state system quark query is in error. * * FIXME: Originally in the code, the -1 was used for both root quark and * return errors, so it has the same value as root quark, but maybe it can * be changed to something else -2? A quark can never be negative */ int ERROR_QUARK = -1; /** * Get the state system managed by this XML object * * @return The state system */ ITmfStateSystem getStateSystem(); /** * Get the list of locations defined in this top level XML element * * @return The list of {@link TmfXmlLocation} */ @NonNull Iterable<@NonNull TmfXmlLocation> getLocations(); }