- type HostName = String
- type Password = String
- type PortNumber = Integer
- type Resource = String
- type UserName = String
- data EnumeratorEvent
- data Challenge = Chal String
- data Success = Succ String
- data TLSState
- = NoTLS
- | PreProceed
- | PreHandshake
- | PostHandshake TLSCtx
- data JID = JID {}
- data StanzaID = SID String
- type From = JID
- type To = JID
- type XMLLang = String
- data Stanza = Stanza {}
- data MessageType
- data Message
- = Message { }
- | MessageError { }
- data PresenceType
- = Subscribe
- | Subscribed
- | Unsubscribe
- | Unsubscribed
- | Probe
- | Available
- | Unavailable
- data Presence
- data IQ
- data InternalEvent s m
- = IEC (ClientEvent s m)
- | IEE EnumeratorEvent
- | IET (TimeoutEvent s m)
- data XMLEvent
- = XEBeginStream String
- | XEFeatures String
- | XEChallenge Challenge
- | XESuccess Success
- | XEEndStream
- | XEIQ IQ
- | XEPresence Presence
- | XEMessage Message
- | XEProceed
- | XEOther String
- data ConnectionState
- data ClientEvent s m
- = CEOpenStream HostName PortNumber (OpenStreamResult -> StateT s m ())
- | CESecureWithTLS Certificate (Certificate -> Bool) (SecureWithTLSResult -> StateT s m ())
- | CEAuthenticate UserName Password (Maybe Resource) (AuthenticateResult -> StateT s m ())
- | CEMessage Message (Maybe (Message -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ()))
- | CEPresence Presence (Maybe (Presence -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ()))
- | CEIQ IQ (Maybe (IQ -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ()))
- | CEAction (Maybe (StateT s m Bool)) (StateT s m ())
- data StreamState
- = PreStream
- | PreFeatures StreamProperties
- | PostFeatures StreamProperties StreamFeatures
- data AuthenticationState
- type Certificate = String
- data ConnectResult
- = ConnectSuccess StreamProperties StreamFeatures (Maybe Resource)
- | ConnectOpenStreamFailure
- | ConnectSecureWithTLSFailure
- | ConnectAuthenticateFailure
- data OpenStreamResult
- = OpenStreamSuccess StreamProperties StreamFeatures
- | OpenStreamFailure
- data SecureWithTLSResult
- = SecureWithTLSSuccess StreamProperties StreamFeatures
- | SecureWithTLSFailure
- data AuthenticateResult
- = AuthenticateSuccess StreamProperties StreamFeatures Resource
- | AuthenticateFailure
- data ServerAddress = ServerAddress HostName PortNumber
- data XMPPError = UncaughtEvent
- data StanzaError = StanzaError {}
- data StanzaErrorType
- data StanzaErrorCondition
- = BadRequest
- | Conflict
- | FeatureNotImplemented
- | Forbidden
- | Gone
- | InternalServerError
- | ItemNotFound
- | JIDMalformed
- | NotAcceptable
- | NotAllowed
- | NotAuthorized
- | PaymentRequired
- | RecipientUnavailable
- | Redirect
- | RegistrationRequired
- | RemoteServerNotFound
- | RemoteServerTimeout
- | ResourceConstraint
- | ServiceUnavailable
- | SubscriptionRequired
- | UndefinedCondition
- | UnexpectedRequest
- type Timeout = Int
- data TimeoutEvent s m = TimeoutEvent StanzaID Timeout (StateT s m ())
- data StreamError = StreamError
- type XMLString = String
Documentation
type PortNumber = IntegerSource
Readability type for port number Integers.
data EnumeratorEvent Source
data MessageType Source
data PresenceType Source
Subscribe | Sender wants to subscribe to presence |
Subscribed | Sender has approved the subscription |
Unsubscribe | Sender is unsubscribing from presence |
Unsubscribed | Sender has denied or cancelled a subscription |
Probe | Sender requests current presence; should only be used by servers PresenceError | -- ^ Processing or delivery of previously sent presence stanza failed |
Available | |
Unavailable |
Presence stanzas are used to express an entity's network availability.
data InternalEvent s m Source
IEC (ClientEvent s m) | |
IEE EnumeratorEvent | |
IET (TimeoutEvent s m) |
Show (InternalEvent s m) |
data ClientEvent s m Source
CEOpenStream HostName PortNumber (OpenStreamResult -> StateT s m ()) | |
CESecureWithTLS Certificate (Certificate -> Bool) (SecureWithTLSResult -> StateT s m ()) | |
CEAuthenticate UserName Password (Maybe Resource) (AuthenticateResult -> StateT s m ()) | |
CEMessage Message (Maybe (Message -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ())) | |
CEPresence Presence (Maybe (Presence -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ())) | |
CEIQ IQ (Maybe (IQ -> StateT s m Bool)) (Maybe (Timeout, StateT s m ())) (Maybe (StreamError -> StateT s m ())) | |
CEAction (Maybe (StateT s m Bool)) (StateT s m ()) |
Show (ClientEvent s m) |
data StreamState Source
PreStream | |
PreFeatures StreamProperties | |
PostFeatures StreamProperties StreamFeatures |
type Certificate = StringSource
data ConnectResult Source
ConnectSuccess StreamProperties StreamFeatures (Maybe Resource) | |
ConnectOpenStreamFailure | |
ConnectSecureWithTLSFailure | |
ConnectAuthenticateFailure |
data OpenStreamResult Source
OpenStreamSuccess StreamProperties StreamFeatures | |
OpenStreamFailure |
data SecureWithTLSResult Source
SecureWithTLSSuccess StreamProperties StreamFeatures | |
SecureWithTLSFailure |
data AuthenticateResult Source
AuthenticateSuccess StreamProperties StreamFeatures Resource | |
AuthenticateFailure |
data StanzaErrorType Source
All stanzas (IQ, message, presence) can cause errors, which looks like stanza-kind to='sender' type='error'. These errors are of one of the types listed below.
data StanzaErrorCondition Source
The stanza errors are accommodated with one of the error conditions listed below. The ones that are not self-explainatory should be documented below.
BadRequest | Malformed XML |
Conflict | Resource or session with name already exists |
FeatureNotImplemented | |
Forbidden | Insufficient permissions |
Gone | Entity can no longer be contacted at this address |
InternalServerError | |
ItemNotFound | |
JIDMalformed | |
NotAcceptable | Does not meet policy criteria |
NotAllowed | No entity may perform this action |
NotAuthorized | Must provide proper credentials |
PaymentRequired | |
RecipientUnavailable | Temporarily unavailable |
Redirect | Redirecting to other entity, usually temporarily |
RegistrationRequired | |
RemoteServerNotFound | |
RemoteServerTimeout | |
ResourceConstraint | Entity lacks the necessary system resources |
ServiceUnavailable | |
SubscriptionRequired | |
UndefinedCondition | Application-specific condition |
UnexpectedRequest | Badly timed request |