/******************************************************************************* * Copyright (c) 2004, 2014 IBM 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: * IBM - Initial API and implementation *******************************************************************************/ package org.eclipse.core.internal.resources.refresh.win32; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.refresh.*; import org.eclipse.core.runtime.IProgressMonitor; /** * The <code>Win32RefreshProvider</code> creates monitors that * can monitor drives on Win32 platforms. * * @see RefreshProvider */ public class Win32RefreshProvider extends RefreshProvider { private Win32Monitor monitor; /** * Creates a standard Win32 monitor if the given resource is local. * * @see RefreshProvider#installMonitor(IResource,IRefreshResult, IProgressMonitor) */ @Override public IRefreshMonitor installMonitor(IResource resource, IRefreshResult result, IProgressMonitor progressMonitor) { if (resource.getLocation() == null || !resource.exists() || resource.getType() == IResource.FILE) return null; if (monitor == null) monitor = new Win32Monitor(result); if (monitor.monitor(resource)) return monitor; return null; } }