namespace LibGit2Sharp.Handlers
{
///
/// Delegate definition to handle Progress callback.
/// Returns the text as reported by the server. The text
/// in the serverProgressOutput parameter is not delivered
/// in any particular units (i.e. not necessarily delivered
/// as whole lines) and is likely to be chunked as partial lines.
///
/// text reported by the server.
/// Text can be chunked at arbitrary increments (i.e. can be composed
/// of a partial line of text).
public delegate void ProgressHandler(string serverProgressOutput);
///
/// Delegate definition to handle UpdateTips callback.
///
/// Name of the updated reference.
/// Old ID of the reference.
/// New ID of the reference.
/// Return negative integer to cancel.
public delegate int UpdateTipsHandler(string referenceName, ObjectId oldId, ObjectId newId);
///
/// Delegate definition to handle Completion callback.
///
public delegate int CompletionHandler(RemoteCompletionType remoteCompletionType);
///
/// Delegate definition for transfer progress callback.
///
/// The object containing progress information.
/// Return negative integer to cancel.
public delegate int TransferProgressHandler(TransferProgress progress);
///
/// Delegate definition to handle reporting errors when updating references on the remote.
///
/// The reference name and error from the server.
public delegate void PushStatusErrorHandler(PushStatusError pushStatusErrors);
///
/// Delegate definition for checkout progress callback.
///
/// Path of the updated file.
/// Number of completed steps.
/// Total number of steps.
public delegate void CheckoutProgressHandler(string path, int completedSteps, int totalSteps);
///
/// Delegate definition for unmatched path callback.
///
/// This callback will be called to notify the caller of unmatched path.
///
///
/// The unmatched path.
public delegate void UnmatchedPathHandler(string unmatchedPath);
}