using System;
namespace Semmle.Extraction.CSharp
{
///
/// Callback for various extraction events.
/// (Used for display of progress).
///
public interface IProgressMonitor
{
///
/// Callback that a particular item has been analysed.
///
/// The item number being processed.
/// The total number of items to process.
/// The name of the item, e.g. a source file.
/// The name of the item being output, e.g. a trap file.
/// The time to extract the item.
/// What action was taken for the file.
void Analysed(int item, int total, string source, string output, TimeSpan time, AnalysisAction action);
///
/// Callback that processing of a particular item has been started.
///
void Started(int item, int total, string source);
///
/// A "using namespace" directive was seen but the given
/// namespace could not be found.
/// Only called once for each @namespace.
///
///
void MissingNamespace(string @namespace);
///
/// An ErrorType was found.
/// Called once for each type name.
///
/// The full/partial name of the type.
void MissingType(string type);
///
/// Report a summary of missing entities.
///
/// The number of missing types.
/// The number of missing using namespace declarations.
void MissingSummary(int types, int namespaces);
}
}