From 671f680bb39f366ad13bf937c7b611f667343314 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Tue, 25 Sep 2012 02:34:51 -0700 Subject: Add support for XEP-0280 Message Carbons --- sleekxmpp/plugins/xep_0280/stanza.py | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 sleekxmpp/plugins/xep_0280/stanza.py (limited to 'sleekxmpp/plugins/xep_0280/stanza.py') 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() -- cgit v1.2.3