Manatee.Core.DBus
- daemonBusName :: Text
- daemonInterfaceName :: Text
- daemonPathName :: Text
- daemonBroadcastInterfaceName :: Text
- daemonBroadcastPathName :: Text
- daemonInteractiveErrorName :: Text
- renderBusName :: Text
- renderInterfaceName :: Text
- renderPathName :: Text
- mkRenderClientName :: ProcessID -> Text
- mkDaemonBroadcastSignal :: Client -> DaemonBroadcastMember -> DaemonBroadcastSignalArgs -> IO ()
- mkDaemonBroadcastMatchRule :: Client -> (DaemonBroadcastMember, DaemonBroadcastSignalArgs -> IO ()) -> IO ()
- mkDaemonSignal :: Client -> DaemonMember -> DaemonSignalArgs -> IO ()
- mkDaemonMatchRule :: Client -> (DaemonMember, DaemonSignalArgs -> IO ()) -> IO ()
- mkDaemonMatchRules :: Client -> [(DaemonMember, DaemonSignalArgs -> IO ())] -> IO ()
- pickDaemonSignalArgs :: DaemonMember -> Signal -> DaemonSignalArgs
- pickDaemonBroadcastSignalArgs :: DaemonBroadcastMember -> Signal -> DaemonBroadcastSignalArgs
- mkRenderSignal :: Client -> ProcessID -> RenderMember -> RenderSignalArgs -> IO ()
- mkRenderMatchRule :: Client -> (RenderMember, RenderSignalArgs -> IO ()) -> IO ()
- mkRenderMatchRuleUnsafe :: Client -> (RenderMember, RenderSignalArgs -> IO ()) -> IO ()
- mkRenderMatchRules :: Client -> [(RenderMember, RenderSignalArgs -> IO ())] -> IO ()
- pickRenderSignalArgs :: RenderMember -> Signal -> RenderSignalArgs
- waitBroadcastExitSignal :: Client -> IO ()
- mkDaemonMethods :: [(Text, Member)] -> IO ()
- callDaemonMethod :: Client -> Text -> [Variant] -> IO (Either Error MethodReturn)
- callDaemonMethodAsync :: Client -> Text -> [Variant] -> (Error -> IO ()) -> (MethodReturn -> IO ()) -> IO ()
Documentation
The daemon bus name.
daemonInterfaceName :: TextSource
The daemon interface name.
The daemon path name.
daemonBroadcastInterfaceName :: TextSource
The damon broadcast interface name.
daemonBroadcastPathName :: TextSource
The damon broadcast path name.
daemonInteractiveErrorName :: TextSource
The daemon interactive error name.
The render bus name. This name just template name, The real render name should add render process id behind.
renderInterfaceName :: TextSource
The render interface name.
The render path name.
mkRenderClientName :: ProcessID -> TextSource
Build render client name. Concat renderBusName and render process id.
mkDaemonBroadcastSignal :: Client -> DaemonBroadcastMember -> DaemonBroadcastSignalArgs -> IO ()Source
Unpack daemon signal from Variant list. unpackDaemonSignalArgs_ :: DaemonMember -> [Variant] -> Maybe DaemonSignalArgs
Unpack daemon signal from Variant list. unpackDaemonBroadcastSignalArgs_ :: DaemonBroadcastMember -> [Variant] -> Maybe DaemonBroadcastSignalArgs
Unpack render signal arguments from Variant list. unpackRenderSignalArgs_ :: RenderMember -> [Variant] -> Maybe RenderSignalArgs
Pack daemon signal argument to Variant list. packDaemonSignalArgs :: DaemonSignalArgs -> [Variant]
Pack render signal arguments to Variant list.
Pack daemon broadcast signal arguments to Variant list. packDaemonBroadcastSignalArgs :: DaemonBroadcastSignalArgs -> [Variant]
Check daemon signal argument. Return False if mismatch.
Check render signal arguments. Return False is mismatch.
Check daemon broadcast signal argument. Return False if mismatch.
Build daemon broadcast signal.
mkDaemonBroadcastMatchRule :: Client -> (DaemonBroadcastMember, DaemonBroadcastSignalArgs -> IO ()) -> IO ()Source
Build daemon broadcast match rule.
mkDaemonSignal :: Client -> DaemonMember -> DaemonSignalArgs -> IO ()Source
Build daemon signal. If signal argument not match daemon member name.
mkDaemonMatchRule :: Client -> (DaemonMember, DaemonSignalArgs -> IO ()) -> IO ()Source
Build daemon match rule.
Use postGUIAsync
wrap all signal handler.
mkDaemonMatchRules :: Client -> [(DaemonMember, DaemonSignalArgs -> IO ())] -> IO ()Source
Build daemon match rule list.
pickDaemonSignalArgs :: DaemonMember -> Signal -> DaemonSignalArgsSource
Pick DaemonSignalArgs.
pickDaemonBroadcastSignalArgs :: DaemonBroadcastMember -> Signal -> DaemonBroadcastSignalArgsSource
Pick DaemonBroadcastSignalArgs.
mkRenderSignal :: Client -> ProcessID -> RenderMember -> RenderSignalArgs -> IO ()Source
Build render signal. If signal argument not match render member name.
mkRenderMatchRule :: Client -> (RenderMember, RenderSignalArgs -> IO ()) -> IO ()Source
Build render process match rule for catch signal.
Use postGUIAsync
wrap all signal handler.
If signal handler need long time calculation,
please use mkRenderMatchRuleUnsafe
for better performance.
mkRenderMatchRuleUnsafe :: Client -> (RenderMember, RenderSignalArgs -> IO ()) -> IO ()Source
Build render process match rule for catch signal.
Simliar mkRenderMatchRule
, but don't use postGUIAsync
wrap all signal handler.
This function design for signal handler that need long time calculation.
So you need use postGUIAsync
wrap GTK+ code explicitly to protect GTK+ main thread won't crash.
mkRenderMatchRules :: Client -> [(RenderMember, RenderSignalArgs -> IO ())] -> IO ()Source
Build render math rule list.
pickRenderSignalArgs :: RenderMember -> Signal -> RenderSignalArgsSource
Pick RenderSignalArgs.
waitBroadcastExitSignal :: Client -> IO ()Source
Unpack daemon signal from Variant list. Report error if mismatch.
Unpack daemon signal from Variant list. Report error if mismatch.
Unpack render signal arguments from Variant list. Report error when mismatch.
Wait broadcast exit signal. This function is useful for listen exit status of main process of manatee. Most for manatee extension daemon process.
callDaemonMethod :: Client -> Text -> [Variant] -> IO (Either Error MethodReturn)Source
Call daemon method.