package com.avg.zaap.crashlibrary.publish.cap;

import com.avg.zaap.crashlibrary.publish.cap.http.CapRequest;

/**
 * This interface denotes the common behavior for the cap crash publisher dependency factories.
 * <p>
 * Created by marek.osvald on 6.6.2016.
 */
public interface ICapCrashPublisherFactory {

    /**
     * Returns an instance of exception header generator.
     *
     * @return an instance of exception header generator
     */
    IExceptionHeaderGenerator getExceptionHeaderGenerator();

    /**
     * Returns a new instance of CAP request.
     *
     * @return a new instance of CAP request
     */
    CapRequest getCapRequest();

    /**
     * Returns an instance of CAP helper.
     *
     * @return an instance of CAP helper
     */
    ICapHelper getCapHelper();

}
