You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

32 line
1.7 KiB

  1. using JT808.DotNetty.Abstractions;
  2. using JT808.DotNetty.Core.Configurations;
  3. using JT808.DotNetty.Core.Impls;
  4. using JT808.DotNetty.Core.Interfaces;
  5. using JT808.DotNetty.Core.Services;
  6. using JT808.DotNetty.Internal;
  7. using Microsoft.Extensions.Configuration;
  8. using Microsoft.Extensions.DependencyInjection;
  9. using Microsoft.Extensions.DependencyInjection.Extensions;
  10. using System.Runtime.CompilerServices;
  11. [assembly: InternalsVisibleTo("JT808.DotNetty.Core.Test")]
  12. [assembly: InternalsVisibleTo("JT808.DotNetty.Tcp.Test")]
  13. [assembly: InternalsVisibleTo("JT808.DotNetty.Udp.Test")]
  14. [assembly: InternalsVisibleTo("JT808.DotNetty.WebApi.Test")]
  15. namespace JT808.DotNetty.Core
  16. {
  17. public static class JT808CoreDotnettyExtensions
  18. {
  19. public static IServiceCollection AddJT808Core(this IServiceCollection serviceDescriptors, IConfiguration configuration)
  20. {
  21. serviceDescriptors.Configure<JT808Configuration>(configuration.GetSection("JT808Configuration"));
  22. serviceDescriptors.TryAddSingleton<IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>();
  23. serviceDescriptors.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>();
  24. serviceDescriptors.TryAddSingleton<IJT808UnificationTcpSendService, JT808UnificationTcpSendService>();
  25. serviceDescriptors.TryAddSingleton<IJT808UnificationUdpSendService, JT808UnificationUdpSendService>();
  26. serviceDescriptors.TryAddSingleton<IJT808TcpSessionService, JT808TcpSessionService>();
  27. serviceDescriptors.TryAddSingleton<IJT808UdpSessionService, JT808UdpSessionService>();
  28. return serviceDescriptors;
  29. }
  30. }
  31. }