package com.avg.zaap.crashlibrary.offline.publisher;

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

import com.avg.zaap.crashlibrary.ReportData;

/**
 * This interface denotes the common behavior for the offline publishers.
 * <p/>
 * Created by marek.osvald on 27.7.2016.
 */
public interface IOfflinePublisher {

    /**
     * This constant describes the offline directory name
     */
    String OFFLINE_REPORT_DIRECTORY_NAME = "offline";

    /**
     * Publishes the crash in an offline mode (stores for later upload).
     *
     * @param context    Android context instance
     * @param reportData crash report data structure
     * @param filePath   crash report file path
     */
    void publish(@NonNull Context context, @NonNull ReportData reportData, @NonNull String filePath);

}
