using System;
namespace SRDebugger.Services
{
public delegate void BugReportCompleteCallback(bool didSucceed, string errorMessage);
public delegate void BugReportProgressCallback(float progress);
public interface IBugReportService
{
///
/// Whether the bug reporter is available for use right now.
///
bool IsUsable { get; }
///
/// Set the handler that will submit bug reports.
///
void SetHandler(IBugReporterHandler handler);
///
/// Submit a bug report.
/// completeHandler can be invoked any time after the method is called
/// (even before the method has returned in case of no internet).
///
/// Bug report to send
/// Delegate to call once bug report is submitted successfully
/// Optionally provide a callback for when progress % is known
void SendBugReport(BugReport report, BugReportCompleteCallback completeHandler,
IProgress progressCallback = null);
}
}