musicScroll-0.2.0.0: src/MusicScroll/ConnState.hs
module MusicScroll.ConnState
( ConnState(..)
, newConnState
, setBus
) where
import DBus (BusName)
import DBus.Client (Client)
import Control.Concurrent.STM.TBQueue (TBQueue)
import MusicScroll.TrackInfo (TrackIdentifier)
import MusicScroll.UIEvent (UIEvent)
import MusicScroll.DBusNames
data ConnState = ConnState
{ cClient :: Client
, cBusActive :: BusName
, cOutTrackChan :: TBQueue TrackIdentifier
, cOutEventChan :: TBQueue UIEvent
}
newConnState :: TBQueue TrackIdentifier -> TBQueue UIEvent
-> Client -> ConnState
newConnState trackCh eventCh c = ConnState c vlcBus trackCh eventCh
setBus :: BusName -> ConnState -> ConnState
setBus newBus conn = conn { cBusActive = newBus }