diff --git a/source/Network/Xmpp/IM/Message.hs b/source/Network/Xmpp/IM/Message.hs index 7d5a4b2..f6fdc3a 100644 --- a/source/Network/Xmpp/IM/Message.hs +++ b/source/Network/Xmpp/IM/Message.hs @@ -8,7 +8,6 @@ import Data.XML.Pickle import Data.XML.Types import Network.Xmpp.Marshal import Network.Xmpp.Types -import Network.Xmpp.Stanza import Data.List import Data.Function diff --git a/source/Network/Xmpp/Stanza.hs b/source/Network/Xmpp/Stanza.hs index aee5582..c5cc124 100644 --- a/source/Network/Xmpp/Stanza.hs +++ b/source/Network/Xmpp/Stanza.hs @@ -10,27 +10,6 @@ module Network.Xmpp.Stanza where import Data.XML.Types import Network.Xmpp.Types - --- | An empty message -message :: Message -message = Message { messageID = Nothing - , messageFrom = Nothing - , messageTo = Nothing - , messageLangTag = Nothing - , messageType = Normal - , messagePayload = [] - } - --- | An empty presence. -presence :: Presence -presence = Presence { presenceID = Nothing - , presenceFrom = Nothing - , presenceTo = Nothing - , presenceLangTag = Nothing - , presenceType = Available - , presencePayload = [] - } - -- | Request subscription with an entity. presenceSubscribe :: Jid -> Presence presenceSubscribe to = presence { presenceTo = Just to diff --git a/source/Network/Xmpp/Types.hs b/source/Network/Xmpp/Types.hs index 286f1ac..d93bb70 100644 --- a/source/Network/Xmpp/Types.hs +++ b/source/Network/Xmpp/Types.hs @@ -15,9 +15,11 @@ module Network.Xmpp.Types , IdGenerator(..) , LangTag (..) , Message(..) + , message , MessageError(..) , MessageType(..) , Presence(..) + , presence , PresenceError(..) , PresenceType(..) , SaslError(..) @@ -155,6 +157,21 @@ data Message = Message { messageID :: !(Maybe StanzaID) , messagePayload :: ![Element] } deriving Show + + +-- | An empty message +message :: Message +message = Message { messageID = Nothing + , messageFrom = Nothing + , messageTo = Nothing + , messageLangTag = Nothing + , messageType = Normal + , messagePayload = [] + } + +instance Default Message where + def = message + -- | An error stanza generated in response to a 'Message'. data MessageError = MessageError { messageErrorID :: !(Maybe StanzaID) , messageErrorFrom :: !(Maybe Jid) @@ -224,6 +241,18 @@ data Presence = Presence { presenceID :: !(Maybe StanzaID) , presencePayload :: ![Element] } deriving Show +-- | An empty presence. +presence :: Presence +presence = Presence { presenceID = Nothing + , presenceFrom = Nothing + , presenceTo = Nothing + , presenceLangTag = Nothing + , presenceType = Available + , presencePayload = [] + } + +instance Default Presence where + def = presence -- | An error stanza generated in response to a 'Presence'. data PresenceError = PresenceError { presenceErrorID :: !(Maybe StanzaID)