diff --git a/sat/core/sat_main.py b/sat/core/sat_main.py index 4947fcfb..86088bf4 100644 --- a/sat/core/sat_main.py +++ b/sat/core/sat_main.py @@ -63,10 +63,12 @@ class SAT(service.Service): self.initialised = defer.Deferred() self.profiles = {} self.plugins = {} + # map for short name to whole namespace, self.ns_map = { - u"x-data": u"jabber:x:data" - } #  map for short name to whole namespace, - #  extended by plugins with registerNamespace + u"x-data": xmpp.NS_X_DATA, + u"disco#info": xmpp.NS_DISCO_INFO, + } + # extended by plugins with registerNamespace self.memory = memory.Memory(self) self.trigger = ( trigger.TriggerManager() diff --git a/sat/core/xmpp.py b/sat/core/xmpp.py index 60c28294..b748976f 100644 --- a/sat/core/xmpp.py +++ b/sat/core/xmpp.py @@ -43,6 +43,10 @@ import uuid import sys +NS_X_DATA = u"jabber:x:data" +NS_DISCO_INFO = u"http://jabber.org/protocol/disco#info" + + class SatXMPPEntity(object): """Common code for Client and Component""" _reason = None # reason of disconnection @@ -1351,9 +1355,17 @@ class SatPresenceProtocol(xmppim.PresenceClientProtocol): class SatDiscoProtocol(disco.DiscoClientProtocol): + implements(iwokkel.IDisco) + def __init__(self, host): disco.DiscoClientProtocol.__init__(self) + def getDiscoInfo(self, requestor, target, nodeIdentifier=""): + return [disco.DiscoFeature(NS_DISCO_INFO)] + + def getDiscoItems(self, requestor, target, nodeIdentifier=""): + return [] + class SatFallbackHandler(generic.FallbackHandler): def __init__(self, host):