using Hcs.Broker.Api;
using Hcs.Broker.Logger;
using Hcs.Broker.MessageCapturer;
namespace Hcs.Broker
{
///
/// Клиент для вызова всех реализованных функций интеграции с ГИС ЖКХ
///
public interface IClient
{
///
/// Идентификатор поставщика данных ГИС ЖКХ
///
string OrgPPAGUID { get; set; }
///
/// Исполнитель/сотрудник ГИС ЖКХ, от которого будут регистрироваться ответы
///
string ExecutorGUID { get; set; }
///
/// Признак, указывающий на то, что используется ли внешний туннель (stunnel)
///
bool UseTunnel { get; set; }
///
/// Если true, то запросы будут выполняться на промышленном стенде, иначе - на тестовом
///
bool IsPPAK { get; set; }
///
/// Роль
///
OrganizationRole Role { get; set; }
///
/// Устанавливаемый пользователем приемник отладочных сообщений
///
ILogger Logger { get; set; }
///
/// Устанавливаемый пользователем механизм перехвата содержимого отправляемых
/// и принимаемых пакетов
///
IMessageCapturer MessageCapturer { get; set; }
IBillsApi Bills { get; }
IDeviceMeteringApi DeviceMetering { get; }
IHouseManagementApi HouseManagement { get; }
INsiApi Nsi { get; }
INsiCommonApi NsiCommon { get; }
IOrgRegistryCommonApi OrgRegistryCommon { get; }
IPaymentsApi Payments { get; }
void SetSigningCertificate(string serialNumber, string? pin = null);
}
}