using QX.NodeParty.Services;

namespace QX.NodeParty.Runtime.Registry.Services
{
  public abstract class ServiceFactoryRegistrationInfo
  {
    public abstract Task<object> CreateService(IServiceLocator serviceLocator);
  }

  public class ServiceFactoryRegistrationInfo<TService> : ServiceFactoryRegistrationInfo where TService : class 
  {
    private readonly string _serviceFactoryId;
    private readonly Func<IServiceLocator, Task<TService>> _serviceFactory;