blob: bd7b13acfd2b8f8625a2abacefaa89d85d4a8c42 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 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 Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ptp.internal.rdt.core.index;
import java.io.Serializable;
import org.eclipse.cdt.internal.core.pdom.IndexerProgress;
/**
* A record of a remote indexer's indexing progress
* @author vkong
*
*/
public class RemoteIndexerProgress implements Serializable {
private static final long serialVersionUID = 1L;
public String status;
public int fRequestedFilesCount;
public int fCompletedSources;
public int fPrimaryHeaderCount; // headers parsed that were actually requested
public int fCompletedHeaders; // all headers including those found through inclusions
public int fTimeEstimate; // fall-back for the time where no file-count is available
public RemoteIndexerProgress() {
}
public RemoteIndexerProgress(RemoteIndexerProgress info) {
fRequestedFilesCount= info.fRequestedFilesCount;
fCompletedSources= info.fCompletedSources;
fCompletedHeaders= info.fCompletedHeaders;
fPrimaryHeaderCount= info.fPrimaryHeaderCount;
}
public RemoteIndexerProgress(IndexerProgress info) {
fRequestedFilesCount= info.fRequestedFilesCount;
fCompletedSources= info.fCompletedSources;
fCompletedHeaders= info.fCompletedHeaders;
fPrimaryHeaderCount= info.fPrimaryHeaderCount;
}
/**
* Creates an IndexerProgress with the same progress information as the given
* RemoteIndexerProgress
* @param progress
* @return
*/
public static IndexerProgress getIndexerProgress(RemoteIndexerProgress progress) {
IndexerProgress info = new IndexerProgress();
if (progress != null) {
info.fRequestedFilesCount= progress.fRequestedFilesCount;
info.fCompletedSources= progress.fCompletedSources;
info.fCompletedHeaders= progress.fCompletedHeaders;
info.fPrimaryHeaderCount= progress.fPrimaryHeaderCount;
}
return info;
}
public int getEstimatedTicks() {
return fRequestedFilesCount > 0 ? fRequestedFilesCount : fTimeEstimate;
}
}