using System.Diagnostics;
using System.Globalization;
using LibGit2Sharp.Core;
namespace LibGit2Sharp
{
///
/// Expose progress values from a fetch operation.
///
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class TransferProgress
{
private GitTransferProgress gitTransferProgress;
///
/// Empty constructor.
///
protected TransferProgress()
{ }
///
/// Constructor.
///
internal TransferProgress(GitTransferProgress gitTransferProgress)
{
this.gitTransferProgress = gitTransferProgress;
}
///
/// Total number of objects.
///
public virtual int TotalObjects
{
get
{
return (int) gitTransferProgress.total_objects;
}
}
///
/// Number of objects indexed.
///
public virtual int IndexedObjects
{
get
{
return (int) gitTransferProgress.indexed_objects;
}
}
///
/// Number of objects received.
///
public virtual int ReceivedObjects
{
get
{
return (int) gitTransferProgress.received_objects;
}
}
///
/// Number of bytes received.
///
public virtual long ReceivedBytes
{
get
{
return (long) gitTransferProgress.received_bytes;
}
}
private string DebuggerDisplay
{
get
{
return string.Format(CultureInfo.InvariantCulture,
"{0}/{1}, {2} bytes", ReceivedObjects, TotalObjects, ReceivedBytes);
}
}
}
}