package com.avg.zaap.crashlibrary.publish;

import android.content.Context;
import android.support.annotation.NonNull;

import com.avg.zaap.crashlibrary.ReportData;

/**
 * This interface denotes the common behavior for the crash publishers.
 * <p>
 * Created by marek.osvald on 30.3.2016.
 */
public interface ICrashPublisher {

    /**
     * Publishes the provider results.
     *
     * @param context    Android context
     * @param reportData crash report data structure
     * @param filePath   file paths of the bin-packed providers' results
     * @param callback   callback to call whenever publishing has finished or failed
     */
    void publish(Context context, @NonNull ReportData reportData, @NonNull String filePath, ICrashPublisherCallback callback);

}
