From a2bab5852596f53ecece56f186c77e8825ae2160 Mon Sep 17 00:00:00 2001
From: Philipp Balzarek
Date: Sun, 19 May 2013 13:45:01 +0200
Subject: [PATCH] add Default instance for Message and Presence
---
source/Network/Xmpp/IM/Message.hs | 1 -
source/Network/Xmpp/Stanza.hs | 21 ---------------------
source/Network/Xmpp/Types.hs | 29 +++++++++++++++++++++++++++++
3 files changed, 29 insertions(+), 22 deletions(-)
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)