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.
 
 
 

39 line
1.2 KiB

  1. using JT808.DotNetty.Core.Handlers;
  2. using JT808.DotNetty.Core.Interfaces;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.Extensions.DependencyInjection.Extensions;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. namespace JT808.DotNetty.Tcp
  9. {
  10. public class JT808TcpBuilderDefault : IJT808TcpNettyBuilder
  11. {
  12. public IJT808NettyBuilder Instance { get; }
  13. public JT808TcpBuilderDefault(IJT808NettyBuilder builder)
  14. {
  15. Instance = builder;
  16. }
  17. public IJT808NettyBuilder Builder()
  18. {
  19. return Instance;
  20. }
  21. public IJT808TcpNettyBuilder ReplaceSessionService<T>() where T : IJT808TcpSessionService
  22. {
  23. Instance.JT808Builder.Services.Replace(new ServiceDescriptor(typeof(IJT808TcpSessionService), typeof(T), ServiceLifetime.Singleton));
  24. return this;
  25. }
  26. public IJT808TcpNettyBuilder ReplaceUnificationSendService<T>() where T : IJT808UnificationTcpSendService
  27. {
  28. Instance.JT808Builder.Services.Replace(new ServiceDescriptor(typeof(IJT808UnificationTcpSendService), typeof(T), ServiceLifetime.Singleton));
  29. return this;
  30. }
  31. }
  32. }