public static AgentConfigurationBuilder AddMessageHandler <TMessageHandler>(this AgentConfigurationBuilder builder) where TMessageHandler : class, IMessageHandler { builder.Services.AddSingleton <IMessageHandler, TMessageHandler>(); builder.Services.TryAddSingleton <TMessageHandler>(); return(builder); }
/// <summary> /// Adds a Sovrin issuer agent with the provided configuration /// </summary> /// <param name="services">The services.</param> /// <param name="agentConfiguration">The agent configuration.</param> public static void AddAgentFramework(this IServiceCollection services, Action <AgentConfigurationBuilder> agentConfiguration = null) { RegisterCoreServices(services); services.AddDefaultMessageHandlers(); services.AddLogging(); var serviceBuilder = new AgentConfigurationBuilder(services); agentConfiguration?.Invoke(serviceBuilder); serviceBuilder.AddDefaultServices(); services = serviceBuilder.Services; services.Configure <WalletOptions>(obj => { obj.WalletConfiguration = serviceBuilder.WalletOptions.WalletConfiguration; obj.WalletCredentials = serviceBuilder.WalletOptions.WalletCredentials; }); services.Configure <PoolOptions>(obj => { obj.PoolName = serviceBuilder.PoolOptions.PoolName; obj.GenesisFilename = serviceBuilder.PoolOptions.GenesisFilename; }); }
/// <summary> /// Overrides the default agent context provider. /// </summary> /// <returns>The default agent context provider.</returns> /// <param name="builder">Builder.</param> /// <typeparam name="TProvider">The 1st type parameter.</typeparam> public static AgentConfigurationBuilder OverrideDefaultAgentContextProvider <TProvider>( this AgentConfigurationBuilder builder) where TProvider : class, IAgentContextProvider { builder.Services.AddSingleton <IAgentContextProvider, TProvider>(); return(builder); }
public static AgentConfigurationBuilder AddMemoryCacheLedgerService(this AgentConfigurationBuilder builder, MemoryCacheEntryOptions options = null) { builder.AddExtendedLedgerService <MemoryCacheLedgerService>() .Services.AddMemoryCache() .AddSingleton(_ => options); return(builder); }
internal static AgentConfigurationBuilder AddDefaultServices(this AgentConfigurationBuilder builder) { builder.Services.TryAddSingleton <IEventAggregator, EventAggregator>(); builder.Services.TryAddSingleton <IConnectionService, DefaultConnectionService>(); builder.Services.TryAddSingleton <ICredentialService, DefaultCredentialService>(); builder.Services.TryAddSingleton <ILedgerService, DefaultLedgerService>(); builder.Services.TryAddSingleton <IPoolService, DefaultPoolService>(); builder.Services.TryAddSingleton <IProofService, DefaultProofService>(); builder.Services.TryAddSingleton <IProvisioningService, DefaultProvisioningService>(); builder.Services.TryAddSingleton <IMessageService, DefaultMessageService>(); builder.Services.TryAddSingleton <HttpClient>(); builder.Services.TryAddSingleton <ISchemaService, DefaultSchemaService>(); builder.Services.TryAddSingleton <ITailsService, DefaultTailsService>(); builder.Services.TryAddSingleton <IWalletRecordService, DefaultWalletRecordService>(); builder.Services.TryAddSingleton <IWalletService, DefaultWalletService>(); return(builder); }
internal static AgentConfigurationBuilder AddDefaultServices(this AgentConfigurationBuilder builder) { builder.Services.TryAddSingleton <IEventAggregator, EventAggregator>(); builder.Services.TryAddSingleton <IAgentContextProvider, DefaultAgentContextProvider>(); builder.Services.TryAddSingleton <IConnectionService, DefaultConnectionService>(); builder.Services.TryAddSingleton <ICredentialService, DefaultCredentialService>(); builder.Services.TryAddSingleton <ILedgerService, DefaultLedgerService>(); builder.Services.TryAddSingleton <IPoolService, DefaultPoolService>(); builder.Services.TryAddSingleton <IProofService, DefaultProofService>(); builder.Services.TryAddSingleton <IEphemeralChallengeService, DefaultEphemeralChallengeService>(); builder.Services.TryAddSingleton <IDiscoveryService, DefaultDiscoveryService>(); builder.Services.TryAddSingleton <IProvisioningService, DefaultProvisioningService>(); builder.Services.TryAddSingleton <IMessageService, DefaultMessageService>(); builder.Services.TryAddSingleton <HttpMessageHandler, HttpClientHandler>(); builder.Services.TryAddSingleton <ISchemaService, DefaultSchemaService>(); builder.Services.TryAddSingleton <ITailsService, DefaultTailsService>(); builder.Services.TryAddSingleton <IWalletRecordService, DefaultWalletRecordService>(); builder.Services.TryAddSingleton <IWalletService, DefaultWalletService>(); builder.Services.TryAddSingleton <IMessageDispatcher, HttpMessageDispatcher>(); return(builder); }
public static AgentConfigurationBuilder AddExtendedLedgerService <TImplementation>(this AgentConfigurationBuilder builder) where TImplementation : class, ILedgerService { builder.Services.AddSingleton <ILedgerService, TImplementation>(); return(builder); }
public static AgentConfigurationBuilder AddExtendedCredentialService <TService, TImplementation>(this AgentConfigurationBuilder builder) where TService : class, ICredentialService where TImplementation : class, TService, ICredentialService { builder.Services.AddSingleton <TImplementation>(); builder.Services.AddSingleton <ICredentialService>(x => x.GetService <TImplementation>()); builder.Services.AddSingleton <TService>(x => x.GetService <TImplementation>()); return(builder); }
public static AgentConfigurationBuilder OverrideDefaultMessageHandlers(this AgentConfigurationBuilder builder) { builder.RegisterCoreMessageHandlers = false; return(builder); }