Refactor Agents to be singleton

Initial work for Last.fm scrobbler
This commit is contained in:
Deluan
2021-06-22 11:15:51 -04:00
committed by Deluan Quintão
parent f9fa9667a3
commit d5461d0ae9
17 changed files with 289 additions and 212 deletions
+2 -2
View File
@@ -16,10 +16,10 @@ import (
type AlbumListController struct {
ds model.DataStore
scrobbler scrobbler.Scrobbler
scrobbler scrobbler.Broker
}
func NewAlbumListController(ds model.DataStore, scrobbler scrobbler.Scrobbler) *AlbumListController {
func NewAlbumListController(ds model.DataStore, scrobbler scrobbler.Broker) *AlbumListController {
c := &AlbumListController{
ds: ds,
scrobbler: scrobbler,
+2 -2
View File
@@ -34,11 +34,11 @@ type Router struct {
ExternalMetadata core.ExternalMetadata
Scanner scanner.Scanner
Broker events.Broker
Scrobbler scrobbler.Scrobbler
Scrobbler scrobbler.Broker
}
func New(ds model.DataStore, artwork core.Artwork, streamer core.MediaStreamer, archiver core.Archiver, players core.Players,
externalMetadata core.ExternalMetadata, scanner scanner.Scanner, broker events.Broker, scrobbler scrobbler.Scrobbler) *Router {
externalMetadata core.ExternalMetadata, scanner scanner.Scanner, broker events.Broker, scrobbler scrobbler.Broker) *Router {
r := &Router{
DataStore: ds,
Artwork: artwork,
+2 -2
View File
@@ -18,11 +18,11 @@ import (
type MediaAnnotationController struct {
ds model.DataStore
scrobbler scrobbler.Scrobbler
scrobbler scrobbler.Broker
broker events.Broker
}
func NewMediaAnnotationController(ds model.DataStore, scrobbler scrobbler.Scrobbler, broker events.Broker) *MediaAnnotationController {
func NewMediaAnnotationController(ds model.DataStore, scrobbler scrobbler.Broker, broker events.Broker) *MediaAnnotationController {
return &MediaAnnotationController{ds: ds, scrobbler: scrobbler, broker: broker}
}
+5 -5
View File
@@ -25,16 +25,16 @@ func initBrowsingController(router *Router) *BrowsingController {
func initAlbumListController(router *Router) *AlbumListController {
dataStore := router.DataStore
scrobbler := router.Scrobbler
albumListController := NewAlbumListController(dataStore, scrobbler)
broker := router.Scrobbler
albumListController := NewAlbumListController(dataStore, broker)
return albumListController
}
func initMediaAnnotationController(router *Router) *MediaAnnotationController {
dataStore := router.DataStore
scrobbler := router.Scrobbler
broker := router.Broker
mediaAnnotationController := NewMediaAnnotationController(dataStore, scrobbler, broker)
broker := router.Scrobbler
eventsBroker := router.Broker
mediaAnnotationController := NewMediaAnnotationController(dataStore, broker, eventsBroker)
return mediaAnnotationController
}