package com.avg.zaap.crashlibrary;

/**
 * This interface denotes the common behavior for the crash publishing delegate.
 * <p/>
 * Created by marek.osvald on 1.7.2016.
 */
public interface ICrashPublishingDelegate {

    /**
     * Publishes crash to all enabled publishers.
     *
     * @param reportData crash report data structure
     * @param callback   callback to call whenever publishing has finished
     */
    void publishCrash(ReportData reportData, ICrashServiceCallback callback);

    /**
     * Publishes offline stored crash report to all enabled publishers.
     *
     * @param filePath   packed report file path
     * @param reportData crash report data structure
     * @param callback   callback to call whenever publishing has finished
     */
    void publishOfflineCrash(String filePath, ReportData reportData, ICrashServiceCallback callback);

}
