package org.objectstyle.wolips.goodies.core.mac;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.refresh.IRefreshMonitor;
import org.eclipse.core.resources.refresh.IRefreshResult;
import org.eclipse.core.resources.refresh.RefreshProvider;
import org.objectstyle.wolips.goodies.core.mac.jna.CoreServices.CoreServicesWrapper;
public class MacRefreshProvider extends RefreshProvider {
private MacRefreshMonitor _refreshMonitor;
@Override
public synchronized IRefreshMonitor installMonitor(IResource resource, IRefreshResult result) {
IRefreshMonitor refreshMonitor;
CoreServicesWrapper coreServices = CoreServicesWrapper.defaultInstance();
if (coreServices.SystemVersion() >= 0x1050) {
if (_refreshMonitor == null) {
_refreshMonitor = new MacRefreshMonitor();
}
_refreshMonitor.monitor(resource, result);
refreshMonitor = _refreshMonitor;
} else {
refreshMonitor = super.createPollingMonitor(resource);
}
return refreshMonitor;
}
}