manatee-core-0.0.2: The core of Manatee.

Manatee.Core.DBus

Synopsis

Documentation

daemonBusName :: TextSource

The daemon bus name.

daemonInterfaceName :: TextSource

The daemon interface name.

daemonPathName :: TextSource

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.

renderBusName :: TextSource

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.

renderPathName :: TextSource

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.

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.

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.

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.

mkDaemonMethods :: [(Text, Member)] -> IO ()Source

Build daemon local object.

callDaemonMethod :: Client -> Text -> [Variant] -> IO (Either Error MethodReturn)Source

Call daemon method.

callDaemonMethodAsync :: Client -> Text -> [Variant] -> (Error -> IO ()) -> (MethodReturn -> IO ()) -> IO ()Source

Call daemon method asynchronously.