network-protocol-xmpp-0.4.8: Client library for the XMPP protocol.

Safe HaskellNone
LanguageHaskell98

Network.Protocol.XMPP

Contents

Synopsis

JIDs

data JID Source #

Constructors

JID 
Instances
Eq JID Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

(==) :: JID -> JID -> Bool #

(/=) :: JID -> JID -> Bool #

Show JID Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

showsPrec :: Int -> JID -> ShowS #

show :: JID -> String #

showList :: [JID] -> ShowS #

IsString JID Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

fromString :: String -> JID #

data Node Source #

Instances
Eq Node Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

(==) :: Node -> Node -> Bool #

(/=) :: Node -> Node -> Bool #

Show Node Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

showsPrec :: Int -> Node -> ShowS #

show :: Node -> String #

showList :: [Node] -> ShowS #

data Domain Source #

Instances
Eq Domain Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Methods

(==) :: Domain -> Domain -> Bool #

(/=) :: Domain -> Domain -> Bool #

Show Domain Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

data Resource Source #

Instances
Eq Resource Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Show Resource Source # 
Instance details

Defined in Network.Protocol.XMPP.JID

Stanzas

data IQType Source #

Constructors

IQGet 
IQSet 
IQResult 
IQError 
Instances
Eq IQType Source # 
Instance details

Defined in Network.Protocol.XMPP.Stanza

Methods

(==) :: IQType -> IQType -> Bool #

(/=) :: IQType -> IQType -> Bool #

Show IQType Source # 
Instance details

Defined in Network.Protocol.XMPP.Stanza

The XMPP monad

data XMPP a Source #

Instances
Monad XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

(>>=) :: XMPP a -> (a -> XMPP b) -> XMPP b #

(>>) :: XMPP a -> XMPP b -> XMPP b #

return :: a -> XMPP a #

fail :: String -> XMPP a #

Functor XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

fmap :: (a -> b) -> XMPP a -> XMPP b #

(<$) :: a -> XMPP b -> XMPP a #

MonadFix XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

mfix :: (a -> XMPP a) -> XMPP a #

Applicative XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

pure :: a -> XMPP a #

(<*>) :: XMPP (a -> b) -> XMPP a -> XMPP b #

liftA2 :: (a -> b -> c) -> XMPP a -> XMPP b -> XMPP c #

(*>) :: XMPP a -> XMPP b -> XMPP b #

(<*) :: XMPP a -> XMPP b -> XMPP a #

MonadIO XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

liftIO :: IO a -> XMPP a #

MonadError XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Associated Types

type ErrorType XMPP :: * #

Methods

throwError :: ErrorType XMPP -> XMPP a #

catchError :: XMPP a -> (ErrorType XMPP -> XMPP a) -> XMPP a #

type ErrorType XMPP Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

data Error Source #

Constructors

AuthenticationFailure Element

The remote host refused the specified authentication credentials.

The included XML element is the error value that the server provided. It may contain additional information about why authentication failed.

AuthenticationError Text

There was an error while authenticating with the remote host.

InvalidStanza Element

An unrecognized or malformed Stanza was received from the remote host.

InvalidBindResult ReceivedStanza

The remote host sent an invalid reply to a resource bind request.

TransportError Text

There was an error with the underlying transport.

NoComponentStreamID

The remote host did not send a stream ID when accepting a component connection.

Instances
Show Error Source # 
Instance details

Defined in Network.Protocol.XMPP.Monad

Methods

showsPrec :: Int -> Error -> ShowS #

show :: Error -> String #

showList :: [Error] -> ShowS #

runClient Source #

Arguments

:: Server 
-> JID

Client JID

-> Text

Username

-> Text

Password

-> XMPP a 
-> IO (Either Error a) 

runComponent Source #

Arguments

:: Server 
-> Text

Server secret

-> XMPP a 
-> IO (Either Error a) 

putStanza :: Stanza a => a -> XMPP () Source #

bindJID :: JID -> XMPP JID Source #

Send a <bind> message for the given JID, returning the server's reply. In most cases the reply will be the same as the input. However, if the input has no Resource, the returned JID will contain a generated Resource.

Clients must bind a JID before sending any Stanzas.

Resuming sessions