Пример #1
0
        public void AddProvider(ISongInfoProvider provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            string[] existingIds;
            lock (_providerLock)
            {
                existingIds = InfoProviders.Select(p => p.ProviderID).ToArray();
            }
            int    idIndex = 0;
            string defaultId;

            do
            {
                defaultId = $"{provider.GetType().Name}{idIndex}";
                idIndex++;
            }while (existingIds.Contains(defaultId));
            lock (_providerLock)
            {
                InfoProviders.Add(new InfoProviderEntry(provider, defaultId)
                {
                    Priority = 100
                });
            }
        }
Пример #2
0
 public void AddProvider(ISongInfoProvider provider, string providerId, int priority = 100)
 {
     if (provider == null)
     {
         throw new ArgumentNullException(nameof(provider));
     }
     lock (_providerLock)
     {
         InfoProviders.Add(new InfoProviderEntry(provider, providerId)
         {
             Priority = priority
         });
     }
 }
Пример #3
0
 public InfoProviderEntry(ISongInfoProvider infoProvider, string providerId)
 {
     InfoProvider = infoProvider;
     ProviderID   = providerId;
 }