12345678910111213141516171819202122232425262728293031323334 |
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using OCPPServer.Protocol;
- using SuperWebSocket.SubProtocol;
- namespace EVCB_OCPP.WSServer.SuperSocket;
- public interface IOCPPWSServerFactory
- {
- OCPPWSServer Create(IEnumerable<ISubProtocol<ClientData>> subProtocols);
- }
- public class OCPPWSServerFactory : IOCPPWSServerFactory
- {
- public OCPPWSServerFactory(
- ILoggerFactory loggerFactory,
- IServiceProvider serviceProvider)
- {
- this.loggerFactory = loggerFactory;
- this.serviceProvider = serviceProvider;
- }
- public OCPPWSServer Create(IEnumerable<ISubProtocol<ClientData>> subProtocols)
- {
- var logger = loggerFactory.CreateLogger<OCPPWSServer>();
- var server = serviceProvider.GetRequiredService<OCPPWSServer>();
- server.RegisterSubProtocol(subProtocols);
- return server;
- }
- private readonly ILoggerFactory loggerFactory;
- private readonly IServiceProvider serviceProvider;
- }
|