/* Copyright (C) 2009 Mobile Sorcery AB This program is free software; you can redistribute it and/or modify it under the terms of the Eclipse Public License v1.0. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License v1.0 for more details. You should have received a copy of the Eclipse Public License v1.0 along with this program. It is also available at http://www.eclipse.org/legal/epl-v10.html */ package com.mobilesorcery.sdk.internal.cdt; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICProject; import org.eclipse.cdt.core.model.PathEntryContainerInitializer; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; public class MoSyncPathInitializer extends PathEntryContainerInitializer { private static MoSyncPathInitializer instance; public MoSyncPathInitializer() { instance = this; } @Override public void initialize(IPath containerPath, ICProject project) throws CoreException { CoreModel.setPathEntryContainer(new ICProject[] { project }, new MoSyncIncludePathContainer(project.getProject()), null); } public static MoSyncPathInitializer getInstance() { // OK - there *could* be a race condition if for some weird // reason this MoSyncPathInitializer was never executed in a path initialization // context. if (instance == null) { instance = new MoSyncPathInitializer(); } return instance; } }