Skip to content
Snippets Groups Projects
Commit 2ec4f097 authored by Jens Nolte's avatar Jens Nolte
Browse files

Rename initialize and finalize to aquire and release

parent 02da28fd
No related branches found
No related tags found
No related merge requests found
......@@ -43,11 +43,11 @@ yieldEmptyBlockUpdate = void . respond $ Nothing
runSignalBlock :: forall a. Maybe Interval -> Maybe ((a -> IO ()) -> BarIO ()) -> SignalBlock a -> Block
runSignalBlock maybeInterval maybeSignalSourceThread signalBlock' = runSignalBlockConfiguration $ SignalBlockConfiguration {
initialize = const $ return (),
aquire = const $ return (),
release = return,
signalThread = const <$> maybeSignalSourceThread,
signalBlock = const signalBlock',
interval = maybeInterval,
finalize = return
interval = maybeInterval
}
......@@ -64,11 +64,11 @@ runSignalBlockFn maybeInterval signalSourceThread renderFn = runSignalBlock mayb
runSignalBlockFn' :: Maybe Interval -> (Maybe BlockEvent -> BarIO (Maybe BlockOutput)) -> Block
runSignalBlockFn' maybeInterval renderFn = runSignalBlockConfiguration $ SignalBlockConfiguration {
initialize = const $ return (),
aquire = const $ return (),
release = return,
signalThread = Nothing,
signalBlock = const eventBlock,
interval = maybeInterval,
finalize = return
interval = maybeInterval
}
where
eventBlock :: SignalBlock a
......@@ -78,15 +78,15 @@ runSignalBlockFn' maybeInterval renderFn = runSignalBlockConfiguration $ SignalB
data SignalBlockConfiguration c p = SignalBlockConfiguration {
initialize :: (p -> IO ()) -> BarIO c,
aquire :: (p -> IO ()) -> BarIO c,
release :: c -> BarIO (),
signalThread :: Maybe (c -> (p -> IO ()) -> BarIO ()),
signalBlock :: c -> SignalBlock p,
interval :: Maybe Interval,
finalize :: c -> BarIO ()
interval :: Maybe Interval
}
runSignalBlockConfiguration :: forall c p. SignalBlockConfiguration c p -> Block
runSignalBlockConfiguration SignalBlockConfiguration{initialize, signalThread, signalBlock, interval, finalize} = do
runSignalBlockConfiguration SignalBlockConfiguration{aquire, release, signalThread, signalBlock, interval} = do
-- Initialize
signalChan <- liftIO newTChanIO
signalEvent <- liftIO Event.new
......@@ -95,7 +95,7 @@ runSignalBlockConfiguration SignalBlockConfiguration{initialize, signalThread, s
where
runSignalBlockWithThreadInternal :: TChan (Signal p) -> Event.Event -> Block
runSignalBlockWithThreadInternal signalChan signalEvent = do
context <- lift $ initialize userSignalAction
context <- lift $ aquire userSignalAction
-- Start signalSource thread
userTask <- liftBarIO $ barAsync $
case signalThread of
......@@ -112,7 +112,7 @@ runSignalBlockConfiguration SignalBlockConfiguration{initialize, signalThread, s
cancel userTask
cancel intervalTask
liftBarIO $ finalize context
liftBarIO $ release context
exitBlock
......
......@@ -53,15 +53,15 @@ getConnectionInfo client connectionObjectPath = do
networkManagerBlock :: Block
networkManagerBlock = runSignalBlockConfiguration $ SignalBlockConfiguration {
initialize = initialize',
finalize = finalize',
aquire,
release,
signalThread = Nothing,
signalBlock = networkManagerBlock',
interval = Just defaultInterval
}
where
initialize' :: (() -> IO ()) -> BarIO DBus.Client
initialize' trigger = liftIO $ do
aquire :: (() -> IO ()) -> BarIO DBus.Client
aquire trigger = liftIO $ do
client <- DBus.connectSystem
let matchRule = DBus.matchAny {
DBus.matchPath = Just "/org/freedesktop/NetworkManager",
......@@ -69,8 +69,8 @@ networkManagerBlock = runSignalBlockConfiguration $ SignalBlockConfiguration {
}
void . DBus.addMatch client matchRule $ dbusSignalHandler trigger
return client
finalize' :: DBus.Client -> BarIO ()
finalize' = liftIO . DBus.disconnect
release :: DBus.Client -> BarIO ()
release = liftIO . DBus.disconnect
networkManagerBlock' :: DBus.Client -> SignalBlock ()
networkManagerBlock' client = (liftBarIO . networkManagerBlock'' client) >=> respondBlockUpdate >=> networkManagerBlock' client
networkManagerBlock'' :: DBus.Client -> Signal () -> BarIO BlockOutput
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment