package br.com.elotech.base.interfaces;

import br.com.elotech.base.model.RegistroModel;

import java.io.IOException;

/**
 * Implementação de ações requerida
 */
public interface LicensaInterface {

    /**
     * @return código do sistema para verificação na ativação
     */
    String getCodigoSistema();

    /**
     *
     * @return deve retornar o nome do cliente para busca no web service
     */
    String getNomeCliente();

    /**
     * Ação ao expirar a data de validade do sistema
     * @param registro dados da verificação da autenticação
     */
    void expirouSistema(RegistroModel registro);


    /**
     *
     * @param erroDeComunicacao quando ocorre erro 404 (não encontrada licensa) ou um formato desconhecido de retorno
     * @param erroGeral outros erros na execução
     */
    void ocorreuErroNaComunicacao(IOException erroDeComunicacao, Exception erroGeral);

}
