/******************************************************************************* * Copyright (c) 2007, 2010 Intel Corporation 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: * Intel Corporation - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.core.settings.model; import org.eclipse.cdt.core.model.IIncludeEntry; public interface ICSettingEntry { /** * Flag {@code BUILTIN} indicates settings built in a tool (compiler) itself. * That kind of settings are not passed as options to a compiler but indexer * or other clients might need them. */ int BUILTIN = 1; /** * Flag {@code READONLY} means that the entry is not intended to be overwritten by user. */ int READONLY = 1 << 1; /** * Flag {@code LOCAL} is used during creation of {@link IIncludeEntry} * to indicate that an include path is not a system path. * It does not appear it is used anywhere else. */ int LOCAL = 1 << 2; /** * Flag {@code VALUE_WORKSPACE_PATH} is used to indicate that the entry * is a resource managed by eclipse in the workspace. It does not always mean * that the path is rooted in the workspace root. In some cases it may be * a project path. */ int VALUE_WORKSPACE_PATH = 1 << 3; /** * Flag {@code RESOLVED} means that any build or other variables (for example ${ProjDirPath}) * have been expanded to their values. */ int RESOLVED = 1 << 4; int INCLUDE_PATH = 1; int INCLUDE_FILE = 1 << 1; int MACRO = 1 << 2; int MACRO_FILE = 1 << 3; int LIBRARY_PATH = 1 << 4; int LIBRARY_FILE = 1 << 5; int OUTPUT_PATH = 1 << 6; int SOURCE_PATH = 1 << 7; int ALL = ~0; boolean isReadOnly(); int getKind(); String getName(); String getValue(); boolean isBuiltIn(); boolean isResolved(); boolean equalsByName(ICSettingEntry entry); boolean equalsByContents(ICSettingEntry entry); int getFlags(); }