Safe Haskell | None |
---|
- data MessageType
- = Invalid
- | MethodCall
- | MethodReturn
- | Error
- | Signal
- | Other Word8
- data Flag
- newtype Flags = Flags [Flag]
- fromFlags :: (Num a, Ord a, Bits a) => a -> [Flag]
- data HeaderFields = HeaderFields {}
- emptyHeaderFields :: HeaderFields
- toFields :: HeaderFields -> [HeaderField]
- fromFields :: [HeaderField] -> HeaderFields
- data HeaderField
- data MessageHeader = MessageHeader {
- endianessFlag :: Endian
- messageType :: MessageType
- flags :: Flags
- version :: Word8
- messageLength :: Word32
- serial :: Word32
- fields :: HeaderFields
- methodCall :: Word32 -> Text -> ObjectPath -> Text -> Text -> [SomeDBusValue] -> [Flag] -> Builder
- methodReturn :: Word32 -> Word32 -> Text -> [SomeDBusValue] -> Builder
- errorMessage :: Word32 -> Maybe Word32 -> Text -> Text -> Maybe Text -> [SomeDBusValue] -> Builder
- serializeMessage :: MessageHeader -> [SomeDBusValue] -> Builder
- getMessage :: Get (MessageHeader, [SomeDBusValue])
- parseMessages :: MonadThrow m => ConduitM ByteString (MessageHeader, [SomeDBusValue]) m b
- sendBS :: DBusConnection -> Builder -> IO ()
- callMethod :: Text -> ObjectPath -> Text -> Text -> [SomeDBusValue] -> [Flag] -> DBusConnection -> IO (STM (Either [SomeDBusValue] SomeDBusValue))
- getAnswer :: IO (STM b) -> IO b
- callMethod' :: (SingI (RepType a), Representable a, MonadThrow m, MonadIO m) => Text -> ObjectPath -> Text -> Text -> [SomeDBusValue] -> [Flag] -> DBusConnection -> m a
Documentation
data MessageType Source
data HeaderFields Source
HeaderFields | |
|
toFields :: HeaderFields -> [HeaderField]Source
fromFields :: [HeaderField] -> HeaderFieldsSource
data HeaderField Source
data MessageHeader Source
MessageHeader | |
|
methodCall :: Word32 -> Text -> ObjectPath -> Text -> Text -> [SomeDBusValue] -> [Flag] -> BuilderSource
methodReturn :: Word32 -> Word32 -> Text -> [SomeDBusValue] -> BuilderSource
errorMessage :: Word32 -> Maybe Word32 -> Text -> Text -> Maybe Text -> [SomeDBusValue] -> BuilderSource
serializeMessage :: MessageHeader -> [SomeDBusValue] -> BuilderSource
parseMessages :: MonadThrow m => ConduitM ByteString (MessageHeader, [SomeDBusValue]) m bSource
sendBS :: DBusConnection -> Builder -> IO ()Source
:: Text | Entity to send the message to |
-> ObjectPath | Object |
-> Text | Interface |
-> Text | Member (method) name |
-> [SomeDBusValue] | Arguments |
-> [Flag] | Method call flags |
-> DBusConnection | Connection to send the call over |
-> IO (STM (Either [SomeDBusValue] SomeDBusValue)) |
Asychronously call a method. Returns an STM action that waits for the returned value.
:: (SingI (RepType a), Representable a, MonadThrow m, MonadIO m) | |
=> Text | Entity to send the message to |
-> ObjectPath | Object |
-> Text | Interface |
-> Text | Member (method) to call |
-> [SomeDBusValue] | Arguments |
-> [Flag] | Method call flags |
-> DBusConnection | Connection to send the call over |
-> m a |
Synchronously call a method. Returned errors are thrown as MethodError
s.
If the returned value's type doesn't match the expected type a
MethodSignatureMissmatch
is thrown.