X-Git-Url: https://git.r.bdr.sh/rbdr/lyricli/blobdiff_plain/1263f62c5c6379f11e19eb184ffedf5889390b70..27eea5168b00796ab254247a072d936195c37d31:/Sources/source_manager.swift diff --git a/Sources/source_manager.swift b/Sources/source_manager.swift index e55cc8b..aaac696 100644 --- a/Sources/source_manager.swift +++ b/Sources/source_manager.swift @@ -1,10 +1,13 @@ -/// Manages the different sources. Keeps track of them, lists and toggles +// Collect and manage the available and enabled source class SourceManager { + // List of sources enabled for the crurent platform private var availableSources: [String: Source] = [ - "arguments": ArgumentsSource() + "arguments": ArgumentsSource(), + "itunes": ItunesSource() ] + // Iterate over the sources until we find a track or run out of sources var currentTrack: Track? { for source in enabledSources { if let currentTrack = source.currentTrack { @@ -15,6 +18,7 @@ class SourceManager { return nil } + // Return the list of enabled sources based on the configuration var enabledSources: [Source] { // Checks the config and returns an array of sources based on the @@ -22,7 +26,7 @@ class SourceManager { var sources = [Source]() - if let sourceNames = Configuration.sharedInstance["enabled_sources"] as? [String] { + if let sourceNames = Configuration.shared["enabled_sources"] as? [String] { for sourceName in sourceNames { if let source = availableSources[sourceName] { sources.append(source) @@ -33,15 +37,15 @@ class SourceManager { return sources } + // Given a source name, it will enable it and add it to the enabled sources config func enable(sourceName: String) { } + // Given a source name, it will remove it from the enabled sources config func disable(sourceName: String) { } + // Given a source name, it removes any stored configuration and disables it func reset(sourceName: String) { } - - func getSources(sourceName: String) { - } }