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

Safe HaskellNone
LanguageHaskell98

Network.Protocol.XMPP

Contents

Synopsis

JIDs

data JID #

Constructors

JID 

Instances

Eq JID # 

Methods

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

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

Show JID # 

Methods

showsPrec :: Int -> JID -> ShowS #

show :: JID -> String #

showList :: [JID] -> ShowS #

IsString JID # 

Methods

fromString :: String -> JID #

data Node #

Instances

Eq Node # 

Methods

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

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

Show Node # 

Methods

showsPrec :: Int -> Node -> ShowS #

show :: Node -> String #

showList :: [Node] -> ShowS #

data Domain #

Instances

Eq Domain # 

Methods

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

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

Show Domain # 

Stanzas

data IQ #

Constructors

IQ 

data IQType #

Constructors

IQGet 
IQSet 
IQResult 
IQError 

Instances

Eq IQType # 

Methods

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

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

Show IQType # 

The XMPP monad

data XMPP a #

Instances

Monad XMPP # 

Methods

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

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

return :: a -> XMPP a #

fail :: String -> XMPP a #

Functor XMPP # 

Methods

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

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

MonadFix XMPP # 

Methods

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

Applicative XMPP # 

Methods

pure :: a -> XMPP a #

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

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

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

MonadIO XMPP # 

Methods

liftIO :: IO a -> XMPP a #

MonadError XMPP # 

Associated Types

type ErrorType (XMPP :: * -> *) :: * #

Methods

throwError :: ErrorType XMPP -> XMPP a #

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

type ErrorType XMPP # 

data Server #

Constructors

Server 

data Error #

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

runClient #

Arguments

:: Server 
-> JID

Client JID

-> Text

Username

-> Text

Password

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

runComponent #

Arguments

:: Server 
-> Text

Server secret

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

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

bindJID :: JID -> XMPP JID #

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

data Session #