summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0280/stanza.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-09-25 02:34:51 -0700
committerLance Stout <lancestout@gmail.com>2012-09-25 02:34:51 -0700
commit671f680bb39f366ad13bf937c7b611f667343314 (patch)
treedef84ad76f93177df92823207ba24da765f9f600 /sleekxmpp/plugins/xep_0280/stanza.py
parentdfff19ffbfecae9817437121ed1d8bfb9d847800 (diff)
downloadslixmpp-671f680bb39f366ad13bf937c7b611f667343314.tar.gz
slixmpp-671f680bb39f366ad13bf937c7b611f667343314.tar.bz2
slixmpp-671f680bb39f366ad13bf937c7b611f667343314.tar.xz
slixmpp-671f680bb39f366ad13bf937c7b611f667343314.zip
Add support for XEP-0280 Message Carbons
Diffstat (limited to 'sleekxmpp/plugins/xep_0280/stanza.py')
-rw-r--r--sleekxmpp/plugins/xep_0280/stanza.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0280/stanza.py b/sleekxmpp/plugins/xep_0280/stanza.py
new file mode 100644
index 00000000..94b37823
--- /dev/null
+++ b/sleekxmpp/plugins/xep_0280/stanza.py
@@ -0,0 +1,64 @@
+"""
+ SleekXMPP: The Sleek XMPP Library
+ Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
+ This file is part of SleekXMPP.
+
+ See the file LICENSE for copying permissio
+"""
+
+from sleekxmpp.xmlstream import ElementBase
+
+
+class ReceivedCarbon(ElementBase):
+ name = 'received'
+ namespace = 'urn:xmpp:carbons:1'
+ plugin_attrib = 'carbon_received'
+ interfaces = set(['carbon_received'])
+ is_extension = True
+
+ def get_carbon_received(self):
+ return self.parent()['forwarded']['stanza']
+
+ def del_carbon_received(self):
+ del self.parent()['forwarded']['stanza']
+
+ def set_carbon_received(self, stanza):
+ self.parent()['forwarded']['stanza'] = stanza
+
+
+class SentCarbon(ElementBase):
+ name = 'sent'
+ namespace = 'urn:xmpp:carbons:1'
+ plugin_attrib = 'carbon_sent'
+ interfaces = set(['carbon_sent'])
+ is_extension = True
+
+ def get_carbon_sent(self):
+ return self.parent()['forwarded']['stanza']
+
+ def del_carbon_sent(self):
+ del self.parent()['forwarded']['stanza']
+
+ def set_carbon_sent(self, stanza):
+ self.parent()['forwarded']['stanza'] = stanza
+
+
+class PrivateCarbon(ElementBase):
+ name = 'private'
+ namespace = 'urn:xmpp:carbons:1'
+ plugin_attrib = 'carbon_private'
+ interfaces = set()
+
+
+class CarbonEnable(ElementBase):
+ name = 'enable'
+ namespace = 'urn:xmpp:carbons:1'
+ plugin_attrib = 'carbon_enable'
+ interfaces = set()
+
+
+class CarbonDisable(ElementBase):
+ name = 'disable'
+ namespace = 'urn:xmpp:carbons:1'
+ plugin_attrib = 'carbon_disable'
+ interfaces = set()