Safe Haskell | None |
---|---|
Language | Haskell98 |
- data MessageType
- = Invalid
- | MethodCall
- | MethodReturn
- | Error
- | Signal
- | Other Word8
- data Flag
- newtype Flags = Flags [Flag]
- fromFlags :: (Bits a, Ord a, Num 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] -> HeaderFields Source
data HeaderField Source
Eq HeaderField | |
Show HeaderField | |
Representable HeaderField | |
type RepType HeaderField = TypeStruct ((:) DBusType (DBusSimpleType TypeByte) ((:) DBusType TypeVariant ([] DBusType))) |
data MessageHeader Source
MessageHeader | |
|
Eq MessageHeader | |
Show MessageHeader | |
Representable MessageHeader | |
type RepType MessageHeader = TypeStruct ((:) DBusType (RepType Endian) ((:) DBusType (RepType MessageType) ((:) DBusType (RepType Flags) ((:) DBusType (RepType Word8) ((:) DBusType (RepType Word32) ((:) DBusType (RepType Word32) ((:) DBusType (RepType HeaderFields) ([] DBusType)))))))) |
methodCall :: Word32 -> Text -> ObjectPath -> Text -> Text -> [SomeDBusValue] -> [Flag] -> Builder Source
methodReturn :: Word32 -> Word32 -> Text -> [SomeDBusValue] -> Builder Source
errorMessage :: Word32 -> Maybe Word32 -> Text -> Text -> Maybe Text -> [SomeDBusValue] -> Builder Source
serializeMessage :: MessageHeader -> [SomeDBusValue] -> Builder Source
getMessage :: Get (MessageHeader, [SomeDBusValue]) Source
parseMessages :: MonadThrow m => ConduitM ByteString (MessageHeader, [SomeDBusValue]) m b Source
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.