1
1
mirror of https://github.com/danbee/persephone synced 2025-03-04 08:39:11 +00:00
persephone/Persephone/Controllers/MPDServerController.swift
Daniel Barber 8bab7c2bf5
Refactor more of the things!
1. Move all the mpdClient actions into a reducer.
2. Move global stuff into their own global struct
2019-04-30 09:11:50 -04:00

41 lines
795 B
Swift

//
// MPDServerController.swift
// Persephone
//
// Created by Daniel Barber on 2019/4/28.
// Copyright © 2019 Dan Barber. All rights reserved.
//
import Foundation
import ReSwift
class MPDServerController {
init() {
App.store.subscribe(self) {
$0.select { $0.preferencesState.mpdServer }
}
}
func connect() {
App.store.dispatch(
MPDConnectAction(
host: App.store.state.preferencesState.mpdServer.hostOrDefault,
port: App.store.state.preferencesState.mpdServer.portOrDefault
)
)
}
func disconnect() {
App.store.dispatch(MPDDisconnectAction())
}
}
extension MPDServerController: StoreSubscriber {
typealias StoreSubscriberStateType = MPDServer
func newState(state: MPDServer) {
disconnect()
connect()
}
}