Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

61 rinda
2.7 KiB

  1. using JT808.Protocol.Enums;
  2. using JT808.Protocol.Formatters;
  3. using JT808.Protocol.Internal;
  4. using System;
  5. using System.Reflection;
  6. using System.Text;
  7. namespace JT808.Protocol.Interfaces
  8. {
  9. public abstract class GlobalConfigBase : IJT808Config
  10. {
  11. protected GlobalConfigBase()
  12. {
  13. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
  14. MsgSNDistributed = new DefaultMsgSNDistributedImpl();
  15. Compress = new JT808GZipCompressImpl();
  16. SplitPackageStrategy = new DefaultSplitPackageStrategyImpl();
  17. SkipCRCCode = false;
  18. MsgIdFactory = new JT808MsgIdFactory();
  19. Encoding = Encoding.GetEncoding("GBK");
  20. FormatterFactory = new JT808FormatterFactory();
  21. JT808_0X0200_Custom_Factory = new JT808_0x0200_Custom_Factory();
  22. JT808_0X0200_Factory = new JT808_0x0200_Factory();
  23. JT808_0X8103_Custom_Factory = new JT808_0x8103_Custom_Factory();
  24. JT808_0X8103_Factory = new JT808_0x8103_Factory();
  25. TerminalPhoneNoLength = 12;
  26. Trim = true;
  27. }
  28. public abstract string ConfigId { get; protected set; }
  29. public virtual IJT808MsgSNDistributed MsgSNDistributed { get; set; }
  30. public virtual IJT808Compress Compress { get; set; }
  31. public virtual IJT808SplitPackageStrategy SplitPackageStrategy { get; set; }
  32. public virtual IJT808MsgIdFactory MsgIdFactory { get; set; }
  33. public virtual Encoding Encoding { get; set; }
  34. public virtual bool SkipCRCCode { get; set; }
  35. public virtual IJT808FormatterFactory FormatterFactory { get; set; }
  36. public virtual IJT808_0x0200_Custom_Factory JT808_0X0200_Custom_Factory { get; set; }
  37. public virtual IJT808_0x0200_Factory JT808_0X0200_Factory { get; set; }
  38. public virtual IJT808_0x8103_Custom_Factory JT808_0X8103_Custom_Factory { get; set; }
  39. public virtual IJT808_0x8103_Factory JT808_0X8103_Factory { get; set; }
  40. public virtual int TerminalPhoneNoLength { get; set; }
  41. public virtual bool Trim { get; set; }
  42. public virtual IJT808Config Register(params Assembly[] externalAssemblies)
  43. {
  44. if (externalAssemblies != null)
  45. {
  46. foreach (var easb in externalAssemblies)
  47. {
  48. MsgIdFactory.Register(easb);
  49. FormatterFactory.Register(easb);
  50. JT808_0X0200_Factory.Register(easb);
  51. JT808_0X0200_Custom_Factory.Register(easb);
  52. JT808_0X8103_Factory.Register(easb);
  53. JT808_0X8103_Custom_Factory.Register(easb);
  54. }
  55. }
  56. return this;
  57. }
  58. }
  59. }