d-bus 0.1.3.1 → 0.1.3.2
raw patch · 2 files changed
+22/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- DBus.Types: Let1627472099TSym0KindInference :: Let1627472099TSym0 l_almZ
- DBus.Types: Let1627472104TSym0KindInference :: Let1627472104TSym0 l_aln4
- DBus.Types: Let1627472110TSym0KindInference :: Let1627472110TSym0 l_alnb
- DBus.Types: Let1627472110TSym1KindInference :: Let1627472110TSym1 l_alne l_alnd
- DBus.Types: Let1627472120TSym0KindInference :: Let1627472120TSym0 l_alnl
- DBus.Types: Let1627472120TSym1KindInference :: Let1627472120TSym1 l_alno l_alnn
- DBus.Types: data Let1627472099TSym0 l_almZ
- DBus.Types: data Let1627472104TSym0 l_aln4
- DBus.Types: data Let1627472110TSym0 l_alnb
- DBus.Types: data Let1627472110TSym1 l_alne l_alnd
- DBus.Types: data Let1627472120TSym0 l_alnl
- DBus.Types: data Let1627472120TSym1 l_alno l_alnn
- DBus.Types: instance SuppressUnusedWarnings Let1627472099TSym0
- DBus.Types: instance SuppressUnusedWarnings Let1627472104TSym0
- DBus.Types: instance SuppressUnusedWarnings Let1627472110TSym0
- DBus.Types: instance SuppressUnusedWarnings Let1627472110TSym1
- DBus.Types: instance SuppressUnusedWarnings Let1627472120TSym0
- DBus.Types: instance SuppressUnusedWarnings Let1627472120TSym1
- DBus.Types: type Let1627472099T wild_1627472091_almW = Apply DBusSimpleTypeSym0 wild_1627472091_almW
- DBus.Types: type Let1627472099TSym1 t_almY = Let1627472099T t_almY
- DBus.Types: type Let1627472104T wild_1627472089_aln1 = Apply TypeArraySym0 wild_1627472089_aln1
- DBus.Types: type Let1627472104TSym1 t_aln3 = Let1627472104T t_aln3
- DBus.Types: type Let1627472110T wild_1627472085_aln6 wild_1627472087_aln7 = Apply (Apply TypeDictSym0 wild_1627472085_aln6) wild_1627472087_aln7
- DBus.Types: type Let1627472110TSym2 t_aln9 t_alna = Let1627472110T t_aln9 t_alna
- DBus.Types: type Let1627472120T wild_1627472081_alng wild_1627472083_alnh = Apply (Apply TypeDictEntrySym0 wild_1627472081_alng) wild_1627472083_alnh
- DBus.Types: type Let1627472120TSym2 t_alnj t_alnk = Let1627472120T t_alnj t_alnk
- DBus.Types: type Let1627472128T = TypeVariantSym0
- DBus.Types: type Let1627472128TSym0 = Let1627472128T
+ DBus.Property: propertyToTVar :: Representable a => RemoteProperty (RepType a) -> DBusConnection -> IO (TVar a)
+ DBus.Types: Let1627472175TSym0KindInference :: Let1627472175TSym0 l_alod
+ DBus.Types: Let1627472180TSym0KindInference :: Let1627472180TSym0 l_aloi
+ DBus.Types: Let1627472186TSym0KindInference :: Let1627472186TSym0 l_alop
+ DBus.Types: Let1627472186TSym1KindInference :: Let1627472186TSym1 l_alos l_alor
+ DBus.Types: Let1627472196TSym0KindInference :: Let1627472196TSym0 l_aloz
+ DBus.Types: Let1627472196TSym1KindInference :: Let1627472196TSym1 l_aloC l_aloB
+ DBus.Types: data Let1627472175TSym0 l_alod
+ DBus.Types: data Let1627472180TSym0 l_aloi
+ DBus.Types: data Let1627472186TSym0 l_alop
+ DBus.Types: data Let1627472186TSym1 l_alos l_alor
+ DBus.Types: data Let1627472196TSym0 l_aloz
+ DBus.Types: data Let1627472196TSym1 l_aloC l_aloB
+ DBus.Types: instance SuppressUnusedWarnings Let1627472175TSym0
+ DBus.Types: instance SuppressUnusedWarnings Let1627472180TSym0
+ DBus.Types: instance SuppressUnusedWarnings Let1627472186TSym0
+ DBus.Types: instance SuppressUnusedWarnings Let1627472186TSym1
+ DBus.Types: instance SuppressUnusedWarnings Let1627472196TSym0
+ DBus.Types: instance SuppressUnusedWarnings Let1627472196TSym1
+ DBus.Types: type Let1627472175T wild_1627472167_aloa = Apply DBusSimpleTypeSym0 wild_1627472167_aloa
+ DBus.Types: type Let1627472175TSym1 t_aloc = Let1627472175T t_aloc
+ DBus.Types: type Let1627472180T wild_1627472165_alof = Apply TypeArraySym0 wild_1627472165_alof
+ DBus.Types: type Let1627472180TSym1 t_aloh = Let1627472180T t_aloh
+ DBus.Types: type Let1627472186T wild_1627472161_alok wild_1627472163_alol = Apply (Apply TypeDictSym0 wild_1627472161_alok) wild_1627472163_alol
+ DBus.Types: type Let1627472186TSym2 t_alon t_aloo = Let1627472186T t_alon t_aloo
+ DBus.Types: type Let1627472196T wild_1627472157_alou wild_1627472159_alov = Apply (Apply TypeDictEntrySym0 wild_1627472157_alou) wild_1627472159_alov
+ DBus.Types: type Let1627472196TSym2 t_alox t_aloy = Let1627472196T t_alox t_aloy
+ DBus.Types: type Let1627472204T = TypeVariantSym0
+ DBus.Types: type Let1627472204TSym0 = Let1627472204T
- DBus.Types: data ArgSym0 (l_ajqN :: TyFun Parity Parity)
+ DBus.Types: data ArgSym0 (l_ajs1 :: TyFun Parity Parity)
- DBus.Types: data DBusSimpleTypeSym0 (l_ajpX :: TyFun DBusSimpleType DBusType)
+ DBus.Types: data DBusSimpleTypeSym0 (l_ajrb :: TyFun DBusSimpleType DBusType)
- DBus.Types: data FlattenRepTypeSym0 (l_almS :: TyFun DBusType [DBusType])
+ DBus.Types: data FlattenRepTypeSym0 (l_alo6 :: TyFun DBusType [DBusType])
- DBus.Types: data TypeArraySym0 (l_ajq0 :: TyFun DBusType DBusType)
+ DBus.Types: data TypeArraySym0 (l_ajre :: TyFun DBusType DBusType)
- DBus.Types: data TypeDictEntrySym0 (l_ajqe :: TyFun DBusSimpleType (TyFun DBusType DBusType -> *))
+ DBus.Types: data TypeDictEntrySym0 (l_ajrs :: TyFun DBusSimpleType (TyFun DBusType DBusType -> *))
- DBus.Types: data TypeDictEntrySym1 (l_ajqh :: DBusSimpleType) (l_ajqg :: TyFun DBusType DBusType)
+ DBus.Types: data TypeDictEntrySym1 (l_ajrv :: DBusSimpleType) (l_ajru :: TyFun DBusType DBusType)
- DBus.Types: data TypeDictSym0 (l_ajq7 :: TyFun DBusSimpleType (TyFun DBusType DBusType -> *))
+ DBus.Types: data TypeDictSym0 (l_ajrl :: TyFun DBusSimpleType (TyFun DBusType DBusType -> *))
- DBus.Types: data TypeDictSym1 (l_ajqa :: DBusSimpleType) (l_ajq9 :: TyFun DBusType DBusType)
+ DBus.Types: data TypeDictSym1 (l_ajro :: DBusSimpleType) (l_ajrn :: TyFun DBusType DBusType)
- DBus.Types: data TypeStructSym0 (l_ajq3 :: TyFun [DBusType] DBusType)
+ DBus.Types: data TypeStructSym0 (l_ajrh :: TyFun [DBusType] DBusType)
- DBus.Types: sFlattenRepType :: Sing t_alnr -> Sing (Apply FlattenRepTypeSym0 t_alnr)
+ DBus.Types: sFlattenRepType :: Sing t_aloF -> Sing (Apply FlattenRepTypeSym0 t_aloF)
- DBus.Types: type ArgSym1 (t_ajqM :: Parity) = Arg t_ajqM
+ DBus.Types: type ArgSym1 (t_ajs0 :: Parity) = Arg t_ajs0
- DBus.Types: type DBusSimpleTypeSym1 (t_ajpW :: DBusSimpleType) = DBusSimpleType t_ajpW
+ DBus.Types: type DBusSimpleTypeSym1 (t_ajra :: DBusSimpleType) = DBusSimpleType t_ajra
- DBus.Types: type FlattenRepTypeSym1 (t_almR :: DBusType) = FlattenRepType t_almR
+ DBus.Types: type FlattenRepTypeSym1 (t_alo5 :: DBusType) = FlattenRepType t_alo5
- DBus.Types: type SDBusSimpleType (z_ajpV :: DBusSimpleType) = Sing z_ajpV
+ DBus.Types: type SDBusSimpleType (z_ajr9 :: DBusSimpleType) = Sing z_ajr9
- DBus.Types: type SDBusType (z_ajqj :: DBusType) = Sing z_ajqj
+ DBus.Types: type SDBusType (z_ajrx :: DBusType) = Sing z_ajrx
- DBus.Types: type SParity (z_ajqP :: Parity) = Sing z_ajqP
+ DBus.Types: type SParity (z_ajs3 :: Parity) = Sing z_ajs3
- DBus.Types: type TypeArraySym1 (t_ajpZ :: DBusType) = TypeArray t_ajpZ
+ DBus.Types: type TypeArraySym1 (t_ajrd :: DBusType) = TypeArray t_ajrd
- DBus.Types: type TypeDictEntrySym2 (t_ajqc :: DBusSimpleType) (t_ajqd :: DBusType) = TypeDictEntry t_ajqc t_ajqd
+ DBus.Types: type TypeDictEntrySym2 (t_ajrq :: DBusSimpleType) (t_ajrr :: DBusType) = TypeDictEntry t_ajrq t_ajrr
- DBus.Types: type TypeDictSym2 (t_ajq5 :: DBusSimpleType) (t_ajq6 :: DBusType) = TypeDict t_ajq5 t_ajq6
+ DBus.Types: type TypeDictSym2 (t_ajrj :: DBusSimpleType) (t_ajrk :: DBusType) = TypeDict t_ajrj t_ajrk
- DBus.Types: type TypeStructSym1 (t_ajq2 :: [DBusType]) = TypeStruct t_ajq2
+ DBus.Types: type TypeStructSym1 (t_ajrg :: [DBusType]) = TypeStruct t_ajrg
Files
- d-bus.cabal +1/−1
- src/DBus/Property.hs +21/−0
d-bus.cabal view
@@ -1,5 +1,5 @@ name: d-bus-version: 0.1.3.1+version: 0.1.3.2 synopsis: Permissively licensed D-Bus client library description: This library uses modern extensions to the Haskell type system (including GADTs, DataKinds and TypeFamilies) and the
src/DBus/Property.hs view
@@ -193,3 +193,24 @@ slot = Map.singleton (rpObject rp, rpInterface rp, rpName rp) [f] atomically $ modifyTVar' (dbusPropertySlots con) (Map.unionWith (++) slot) addMatch mr con++propertyToTVar :: Representable a =>+ RemoteProperty (RepType a)+ -> DBusConnection+ -> IO (TVar a)+propertyToTVar rp con = do+ eiv <- getProperty rp con+ case eiv of+ Left e -> Ex.throwIO e+ Right iv -> do+ tv <- newTVarIO iv+ handlePropertyChanged rp+ (\mbv -> case mbv of+ Nothing -> do+ eniv <- getProperty rp con+ case eniv of+ Left e -> return () -- @TODO+ Right nv -> atomically $ writeTVar tv nv+ Just v -> atomically $ writeTVar tv v+ ) con+ return tv