/* * Copyright (c) 2013, 2015 QNX Software Systems 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 */ package org.eclipse.cdt.internal.qt.core.index; import java.util.List; import java.util.Map; /** * Represents a QMake information. * * Note that current implementation of does not handle support QMake 2.0 in full range so provided information might be incomplete. * * This class is not meant to be implemented. */ public interface IQMakeInfo { /** * Returns whether this information is valid. If invalid, then returned value of the other method is unspecified. * * @return true if this information is valid */ boolean isValid(); /** * Returns a map of key-value pairs provided by "qmake -query" command. * * @return the map */ Map<String,String> getQMakeQueryMap(); /** * Returns a Qt version as provided by "qmake -query" command. * * @return the Qt version */ IQtVersion getQtVersion(); /** * Returns a list of QMake files (.pro, .pri, .prf, ...) that are involved in resolving this information as retrieved * via "qmake -E file.pro" command. * * @return the list of involved QMake files */ List<String> getInvolvedQMakeFiles(); /** * Returns a list of Qt Import paths. Represents QT_IMPORT_PATH that is used by QDeclarativeEngine (aka QtQuick1) runtime to load QML modules. * * @return the list of Qt Import paths */ List<String> getQtImportPath(); /** * Returns a list of Qt Qml paths that is used by QQmlEngine (aka QtQuick2) runtime to load QML modules. * * @return the list of Qt Qml paths */ List<String> getQtQmlPath(); /** * Returns a list of Qt Documentation paths. * * @return the list of Qt Documentation paths */ List<String> getQtDocPath(); /** * Returns a list of include paths that are used for compilation of a related project. * * @return the list of include paths */ List<String> getIncludePath(); /** * Returns a list of defines that are used for compilation of a related project i.e. specified via DEFINES QMake variable. * * @return the list of defines. */ List<String> getDefines(); /** * Returns a list of source file paths i.e. specified via SOURCES QMake variable. * * @return the list of source file paths */ List<String> getSourceFiles(); /** * Returns a list of header file paths i.e. specified via HEADERS QMake variable. * * @return the list of header file paths */ List<String> getHeaderFiles(); /** * Returns a list of resource file paths i.e. specified via RESOURCES QMake variable. * * @return the list of other file paths */ List<String> getResourceFiles(); /** * Returns a list of other file paths i.e. specified via FORMS QMake variable. * * @return the list of other file paths */ List<String> getFormFiles(); /** * Returns a list of other file paths i.e. specified via OTHER_FILES QMake variable. * * @return the list of other file paths */ List<String> getOtherFiles(); }