ProviderKey.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using SuperSocket.SocketBase.Logging;
  6. using SuperSocket.SocketBase.Command;
  7. using SuperSocket.SocketBase.Protocol;
  8. namespace SuperSocket.SocketBase.Provider
  9. {
  10. /// <summary>
  11. /// ProviderKey
  12. /// </summary>
  13. [Serializable]
  14. public class ProviderKey
  15. {
  16. /// <summary>
  17. /// Gets or sets the name.
  18. /// </summary>
  19. /// <value>
  20. /// The name.
  21. /// </value>
  22. public string Name { get; private set; }
  23. /// <summary>
  24. /// Gets or sets the type.
  25. /// </summary>
  26. /// <value>
  27. /// The type.
  28. /// </value>
  29. public Type Type { get; private set; }
  30. private ProviderKey()
  31. {
  32. }
  33. static ProviderKey()
  34. {
  35. ServerType = new ProviderKey { Name = "ServerType", Type = typeof(IAppServer) };
  36. SocketServerFactory = new ProviderKey { Name = "SocketServerFactory", Type = typeof(ISocketServerFactory) };
  37. ConnectionFilter = new ProviderKey { Name = "ConnectionFilter", Type = typeof(IConnectionFilter) };
  38. LogFactory = new ProviderKey { Name = "LogFactory", Type = typeof(ILogFactory) };
  39. ReceiveFilterFactory = new ProviderKey { Name = "ReceiveFilterFactory", Type = typeof(IReceiveFilterFactory) };
  40. CommandLoader = new ProviderKey { Name = "CommandLoader", Type = typeof(ICommandLoader) };
  41. }
  42. /// <summary>
  43. /// Gets the service.
  44. /// </summary>
  45. public static ProviderKey ServerType { get; private set; }
  46. /// <summary>
  47. /// Gets the socket server factory.
  48. /// </summary>
  49. public static ProviderKey SocketServerFactory { get; private set; }
  50. /// <summary>
  51. /// Gets the connection filter.
  52. /// </summary>
  53. public static ProviderKey ConnectionFilter { get; private set; }
  54. /// <summary>
  55. /// Gets the log factory.
  56. /// </summary>
  57. public static ProviderKey LogFactory { get; private set; }
  58. /// <summary>
  59. /// Gets the Receive filter factory.
  60. /// </summary>
  61. public static ProviderKey ReceiveFilterFactory { get; private set; }
  62. /// <summary>
  63. /// Gets the command loader.
  64. /// </summary>
  65. public static ProviderKey CommandLoader { get; private set; }
  66. }
  67. }