mirror of
https://github.com/navidrome/navidrome.git
synced 2026-03-04 06:35:52 +00:00
39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
package core
|
|
|
|
import (
|
|
"github.com/navidrome/navidrome/core/agents"
|
|
"github.com/navidrome/navidrome/core/scrobbler"
|
|
)
|
|
|
|
// TODO(PLUGINS): Remove NoopPluginLoader when real plugin system is implemented
|
|
|
|
// NoopPluginLoader is a stub implementation of plugin loaders that does nothing.
|
|
// This is used as a placeholder until the new plugin system is implemented.
|
|
type NoopPluginLoader struct{}
|
|
|
|
// GetNoopPluginLoader returns a singleton noop plugin loader instance.
|
|
func GetNoopPluginLoader() *NoopPluginLoader {
|
|
return &NoopPluginLoader{}
|
|
}
|
|
|
|
// PluginNames returns an empty slice (no plugins available)
|
|
func (n *NoopPluginLoader) PluginNames(_ string) []string {
|
|
return nil
|
|
}
|
|
|
|
// LoadMediaAgent returns false (no plugin available)
|
|
func (n *NoopPluginLoader) LoadMediaAgent(_ string) (agents.Interface, bool) {
|
|
return nil, false
|
|
}
|
|
|
|
// LoadScrobbler returns false (no plugin available)
|
|
func (n *NoopPluginLoader) LoadScrobbler(_ string) (scrobbler.Scrobbler, bool) {
|
|
return nil, false
|
|
}
|
|
|
|
// Verify interface implementations at compile time
|
|
var (
|
|
_ agents.PluginLoader = (*NoopPluginLoader)(nil)
|
|
_ scrobbler.PluginLoader = (*NoopPluginLoader)(nil)
|
|
)
|