{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
module Network.XMPP.IM.Presence
(
presAvailable
, presUnavailable
, presAway
, presXa
, presChat
, presDND
) where
import Network.XMPP.Types
import Data.Text (Text)
presAvailable :: Text
-> Stanza 'Presence 'Outgoing ()
presAvailable :: Text -> Stanza 'Presence 'Outgoing ()
presAvailable Text
status = Maybe SomeJID
-> Maybe SomeJID
-> Text
-> PresenceType
-> ShowType
-> Text
-> Maybe Integer
-> DataByPurpose 'Outgoing ()
-> Sing 'Outgoing
-> Stanza 'Presence 'Outgoing ()
forall (p :: StanzaPurpose) ext.
Maybe SomeJID
-> Maybe SomeJID
-> Text
-> PresenceType
-> ShowType
-> Text
-> Maybe Integer
-> DataByPurpose p ext
-> Sing p
-> Stanza 'Presence p ext
MkPresence Maybe SomeJID
forall a. Maybe a
Nothing Maybe SomeJID
forall a. Maybe a
Nothing Text
"" PresenceType
Default ShowType
Available Text
status (Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
0) [] Sing 'Outgoing
SOutgoing
presUnavailable :: Text -> Stanza 'Presence 'Outgoing ()
presUnavailable :: Text -> Stanza 'Presence 'Outgoing ()
presUnavailable = ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceU ShowType
Available
presAway :: Text -> Stanza 'Presence 'Outgoing ()
presAway :: Text -> Stanza 'Presence 'Outgoing ()
presAway = ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD ShowType
Away
presXa :: Text -> Stanza 'Presence 'Outgoing ()
presXa :: Text -> Stanza 'Presence 'Outgoing ()
presXa = ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD ShowType
XAway
presChat :: Text -> Stanza 'Presence 'Outgoing ()
presChat :: Text -> Stanza 'Presence 'Outgoing ()
presChat = ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD ShowType
FreeChat
presDND :: Text -> Stanza 'Presence 'Outgoing ()
presDND :: Text -> Stanza 'Presence 'Outgoing ()
presDND = ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD ShowType
DND
mkPresence :: PresenceType -> ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresence :: PresenceType -> ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresence PresenceType
typ ShowType
showType Text
status =
MkPresence :: forall (p :: StanzaPurpose) ext.
Maybe SomeJID
-> Maybe SomeJID
-> Text
-> PresenceType
-> ShowType
-> Text
-> Maybe Integer
-> DataByPurpose p ext
-> Sing p
-> Stanza 'Presence p ext
MkPresence
{ pFrom :: Maybe SomeJID
pFrom = Maybe SomeJID
forall a. Maybe a
Nothing
, pTo :: Maybe SomeJID
pTo = Maybe SomeJID
forall a. Maybe a
Nothing
, pId :: Text
pId = Text
""
, pType :: PresenceType
pType = PresenceType
typ
, pShowType :: ShowType
pShowType = ShowType
showType
, pStatus :: Text
pStatus = Text
status
, pPriority :: Maybe Integer
pPriority = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
0
, pExt :: DataByPurpose 'Outgoing ()
pExt = []
, pPurpose :: Sing 'Outgoing
pPurpose = Sing 'Outgoing
SOutgoing
}
mkPresenceD :: ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD :: ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceD = PresenceType -> ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresence PresenceType
Default
mkPresenceU :: ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceU :: ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresenceU = PresenceType -> ShowType -> Text -> Stanza 'Presence 'Outgoing ()
mkPresence PresenceType
Unavailable