summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0280/stanza.py
diff options
context:
space:
mode:
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()