-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Low-level DBus protocol implementation -- -- Low-level DBus protocol implementation @package dbus-core @version 0.3 module DBus.Types.Signature data Signature data Type BooleanT :: Type ByteT :: Type Int16T :: Type UInt16T :: Type Int32T :: Type UInt32T :: Type Int64T :: Type UInt64T :: Type DoubleT :: Type StringT :: Type ObjectPathT :: Type SignatureT :: Type ArrayT :: Type -> Type DictionaryT :: Type -> Type -> Type StructureT :: [Type] -> Type VariantT :: Type signatureTypes :: Signature -> [Type] mkSignature :: String -> Maybe Signature strSignature :: Signature -> String typeString :: Type -> String instance Typeable Signature instance Show Type instance Eq Type instance Eq Signature instance Show Signature module DBus.Types.ObjectPath data ObjectPath mkObjectPath :: String -> Maybe ObjectPath strObjectPath :: ObjectPath -> String instance Typeable ObjectPath instance Show ObjectPath instance Eq ObjectPath instance Ord ObjectPath module DBus.Types.Atom data Atom class (Variable a) => Atomic a toAtom :: (Atomic a) => a -> Atom fromAtom :: (Variable a) => Atom -> Maybe a atomSignature :: Atom -> Signature atomType :: Atom -> Type atomToVariant :: Atom -> Variant atomFromVariant :: Variant -> Maybe Atom instance Show Atom instance Eq Atom instance Atomic Signature instance Atomic ObjectPath instance Atomic String instance Atomic Double instance Atomic Int64 instance Atomic Int32 instance Atomic Int16 instance Atomic Word64 instance Atomic Word32 instance Atomic Word16 instance Atomic Word8 instance Atomic Bool module DBus.Types.Containers data Variant class Variable a defaultSignature :: (Variable a) => a -> Signature toVariant :: (Variable a) => a -> Variant fromVariant :: (Variable a) => Variant -> Maybe a variantSignature :: Variant -> Signature variantType :: Variant -> Type data Array toArray :: (Variable a) => [a] -> Maybe Array fromArray :: (Variable a) => Array -> Maybe [a] arrayItems :: Array -> [Variant] arrayFromItems :: Signature -> [Variant] -> Maybe Array arraySignature :: Array -> Signature data Dictionary toDictionary :: (Atomic a, Variable b) => [(a, b)] -> Maybe Dictionary fromDictionary :: (Atomic a, Variable b) => Dictionary -> Maybe [(a, b)] dictionaryItems :: Dictionary -> [(Atom, Variant)] dictionaryFromItems :: Signature -> Signature -> [(Atom, Variant)] -> Maybe Dictionary dictionarySignature :: Dictionary -> Signature data Structure Structure :: [Variant] -> Structure structureSignature :: Structure -> Signature instance Typeable Structure instance Typeable Dictionary instance Typeable Array instance Typeable Variant instance Show Structure instance Eq Structure instance Show Dictionary instance Eq Dictionary instance Show Array instance Eq Array instance Variable Structure instance Variable Dictionary instance Variable Array instance Variable Signature instance Variable ObjectPath instance Variable String instance Variable Double instance Variable Int64 instance Variable Int32 instance Variable Int16 instance Variable Word64 instance Variable Word32 instance Variable Word16 instance Variable Word8 instance Variable Bool instance Variable Variant instance Eq Variant instance Show Variant module DBus.Types.Endianness data Endianness LittleEndian :: Endianness BigEndian :: Endianness instance Show Endianness instance Eq Endianness instance Variable Endianness module DBus.Types.Names data InterfaceName mkInterfaceName :: String -> Maybe InterfaceName strInterfaceName :: InterfaceName -> String data BusName mkBusName :: String -> Maybe BusName strBusName :: BusName -> String data MemberName mkMemberName :: String -> Maybe MemberName strMemberName :: MemberName -> String data ErrorName mkErrorName :: String -> Maybe ErrorName strErrorName :: ErrorName -> String instance Show MemberName instance Eq MemberName instance Ord MemberName instance Show BusName instance Eq BusName instance Ord BusName instance Show ErrorName instance Eq ErrorName instance Ord ErrorName instance Show InterfaceName instance Eq InterfaceName instance Ord InterfaceName instance Atomic MemberName instance Variable MemberName instance Atomic BusName instance Variable BusName instance Atomic ErrorName instance Variable ErrorName instance Atomic InterfaceName instance Variable InterfaceName module DBus.Types.Serial newtype Serial Serial :: Word32 -> Serial nextSerial :: Serial -> Serial firstSerial :: Serial instance Eq Serial instance Ord Serial instance Variable Serial instance Atomic Serial instance Show Serial module DBus.Types module DBus.Message class Message a messageTypeCode :: (Message a) => a -> Word8 messageHeaderFields :: (Message a) => a -> [HeaderField] messageFlags :: (Message a) => a -> Set Flag messageBody :: (Message a) => a -> [Variant] data Flag NoReplyExpected :: Flag NoAutoStart :: Flag data HeaderField Path :: ObjectPath -> HeaderField Interface :: InterfaceName -> HeaderField Member :: MemberName -> HeaderField ErrorName :: ErrorName -> HeaderField ReplySerial :: Serial -> HeaderField Destination :: BusName -> HeaderField Sender :: BusName -> HeaderField Signature :: Signature -> HeaderField data MethodCall MethodCall :: ObjectPath -> MemberName -> Maybe InterfaceName -> Maybe BusName -> Set Flag -> [Variant] -> MethodCall methodCallPath :: MethodCall -> ObjectPath methodCallMember :: MethodCall -> MemberName methodCallInterface :: MethodCall -> Maybe InterfaceName methodCallDestination :: MethodCall -> Maybe BusName methodCallFlags :: MethodCall -> Set Flag methodCallBody :: MethodCall -> [Variant] data MethodReturn MethodReturn :: Serial -> Maybe BusName -> Set Flag -> [Variant] -> MethodReturn methodReturnSerial :: MethodReturn -> Serial methodReturnDestination :: MethodReturn -> Maybe BusName methodReturnFlags :: MethodReturn -> Set Flag methodReturnBody :: MethodReturn -> [Variant] data Error Error :: ErrorName -> Serial -> Maybe BusName -> Set Flag -> [Variant] -> Error errorName :: Error -> ErrorName errorSerial :: Error -> Serial errorDestination :: Error -> Maybe BusName errorFlags :: Error -> Set Flag errorBody :: Error -> [Variant] data Signal Signal :: ObjectPath -> MemberName -> InterfaceName -> Set Flag -> [Variant] -> Signal signalPath :: Signal -> ObjectPath signalMember :: Signal -> MemberName signalInterface :: Signal -> InterfaceName signalFlags :: Signal -> Set Flag signalBody :: Signal -> [Variant] data ReceivedMessage ReceivedMethodCall :: Serial -> (Maybe BusName) -> MethodCall -> ReceivedMessage ReceivedMethodReturn :: Serial -> (Maybe BusName) -> MethodReturn -> ReceivedMessage ReceivedError :: Serial -> (Maybe BusName) -> Error -> ReceivedMessage ReceivedSignal :: Serial -> (Maybe BusName) -> Signal -> ReceivedMessage ReceivedUnknown :: Serial -> (Maybe BusName) -> ReceivedMessage receivedSerial :: ReceivedMessage -> Serial receivedSender :: ReceivedMessage -> Maybe BusName marshal :: (Message a) => Endianness -> Serial -> a -> ByteString unmarshal :: (Monad m) => (Word32 -> m ByteString) -> m (Either String ReceivedMessage) instance Show ReceivedMessage instance Eq ReceivedMessage instance Show MessageHeader instance Eq MessageHeader instance Show Signal instance Eq Signal instance Show Error instance Eq Error instance Show MethodReturn instance Eq MethodReturn instance Show MethodCall instance Eq MethodCall instance Show HeaderField instance Eq HeaderField instance Show Flag instance Eq Flag instance Ord Flag instance Message Signal instance Message Error instance Message MethodReturn instance Message MethodCall instance Variable HeaderField module DBus.Bus.Address data Address addressMethod :: Address -> String addressParameters :: Address -> Map String String strAddress :: Address -> String parseAddresses :: String -> Maybe [Address] instance Eq Address instance Show Address module DBus.Bus.Connection data Connection data ConnectionException InvalidAddress :: String -> ConnectionException BadParameters :: Address -> String -> ConnectionException UnknownMethod :: Address -> ConnectionException NoWorkingAddress :: [Address] -> ConnectionException data ProtocolException ProtocolException :: String -> ProtocolException connect :: Address -> IO Connection send :: (Message a) => Connection -> (Serial -> IO b) -> a -> IO b receive :: Connection -> IO ReceivedMessage instance Typeable ProtocolException instance Typeable ConnectionException instance Show ProtocolException instance Show ConnectionException instance Exception ProtocolException instance Exception ConnectionException instance Show Connection module DBus.Bus getSystemBus :: IO (Connection, BusName) getSessionBus :: IO (Connection, BusName) getFirstBus :: [Address] -> IO (Connection, BusName) getBus :: Address -> IO (Connection, BusName)