Add mocked broker client

This commit is contained in:
2025-10-09 19:12:30 +09:00
parent bb91136d42
commit 209cd79f01
32 changed files with 809 additions and 225 deletions

64
Hcs.Broker/IClient.cs Normal file
View File

@ -0,0 +1,64 @@
using Hcs.Broker.Api;
using Hcs.Broker.Logger;
using Hcs.Broker.MessageCapturer;
namespace Hcs.Broker
{
/// <summary>
/// Клиент для вызова всех реализованных функций интеграции с ГИС ЖКХ
/// </summary>
public interface IClient
{
/// <summary>
/// Идентификатор поставщика данных ГИС ЖКХ
/// </summary>
string OrgPPAGUID { get; set; }
/// <summary>
/// Исполнитель/сотрудник ГИС ЖКХ, от которого будут регистрироваться ответы
/// </summary>
string ExecutorGUID { get; set; }
/// <summary>
/// Признак, указывающий на то, что используется ли внешний туннель (stunnel)
/// </summary>
bool UseTunnel { get; set; }
/// <summary>
/// Если true, то запросы будут выполняться на промышленном стенде, иначе - на тестовом
/// </summary>
bool IsPPAK { get; set; }
/// <summary>
/// Роль
/// </summary>
OrganizationRole Role { get; set; }
/// <summary>
/// Устанавливаемый пользователем приемник отладочных сообщений
/// </summary>
ILogger Logger { get; set; }
/// <summary>
/// Устанавливаемый пользователем механизм перехвата содержимого отправляемых
/// и принимаемых пакетов
/// </summary>
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);
}
}