signal-messaging-dbus-1.0.1.0: Bindings for signal-cli's DBus interface
Copyright(c) Lia Lenckowski 2022
LicenseAGPL
Maintainerlialenck@protonmail.com
Stabilityexperimental
PortabilityGNU/Linux, MacOS
Safe HaskellSafe-Inferred
LanguageHaskell2010

SignalDBus.Interface

Description

Except for things reexported elsewhere, this module is mainly meant for internal usage. However, if you require APIs not implemented by the main module, you may use these functions to implement them.

Synopsis

Documentation

withConn :: MonadUnliftIO m => (SignalConn -> m a) -> m a Source #

Run an action that requires a signal connection, and return its result

withConnNum :: MonadUnliftIO m => String -> (SignalConn -> m a) -> m a Source #

Like withConn, but you have to manually specify a phone number to use, which is useful if the signal daemon doesn't have a default number. This may not be used with a signal-cli daemon that has a default number configured.

withReceiveMessages :: MonadUnliftIO m => SignalConn -> (m ReceivedMessage -> m a) -> m a Source #

Run an action that receives a callback to receive new messages, and return its result. This will not yield messages that were received prior to calling this.

callSC :: (MonadIO m, IsVariant a) => MemberName -> [Variant] -> SignalConn -> m a Source #

INTERNAL. Call method from the main Signal interface, and return its result.

callSC_ :: MonadIO m => MemberName -> [Variant] -> SignalConn -> m () Source #

INTERNAL. Call method from the main Signal interface, expecting no return value.

callControl :: (MonadIO m, IsVariant a) => MemberName -> [Variant] -> SignalConn -> m a Source #

INTERNAL. Call method from the Signal.Control interface, and return its result.

callControl_ :: MonadIO m => MemberName -> [Variant] -> SignalConn -> m () Source #

INTERNAL. Call method from the Signal.Control interface, expecting no return value.

getGroupProp :: (MonadIO m, IsValue a) => MemberName -> Group -> SignalConn -> m a Source #

INTERNAL. Get group proptery

setGroupProp :: (MonadIO m, IsValue a) => MemberName -> a -> Group -> SignalConn -> m () Source #

INTERNAL. Set group proptery

callGroup_ :: MonadIO m => MemberName -> [Variant] -> Group -> SignalConn -> m () Source #

INTERNAL. Call method from the Signal.Group interface, expecting no return value.