Gateway registration, unregistration & edition
- default values added in form - DBus bridge: fixed array of struct management when adding dynamically a method - fixed doc for some methods - ugly fix for presence status - added dependency for XEP-0077 in XEP-0100 plugin - Wix: added unregister button in gateways manager - Wix: added privacy warning in gateways manager
This commit is contained in:
parent
914f7da809
commit
e3a3c1e975
1 changed files with 159 additions and 39 deletions
|
|
@ -30,7 +30,7 @@ PLUGIN_INFO = {
|
|||
"name": "Gateways Plugin",
|
||||
"import_name": "XEP_0100",
|
||||
"type": "XEP",
|
||||
"dependencies": [],
|
||||
"dependencies": ["XEP_0077"],
|
||||
"main": "XEP_0100",
|
||||
"description": """Implementation of Gateways protocol"""
|
||||
}
|
||||
|
|
@ -42,6 +42,7 @@ class XEP_0100():
|
|||
self.host = host
|
||||
self.__gateways = {} #dict used to construct the answer to findGateways. Key = target jid
|
||||
host.bridge.addMethod("findGateways", ".communication", in_sign='s', out_sign='s', method=self.findGateways)
|
||||
host.bridge.addMethod("gatewayRegister", ".request", in_sign='ssa(ss)', out_sign='s', method=self.gatewayRegister)
|
||||
|
||||
def discoInfo(self, disco, entity, request_id):
|
||||
"""Find disco infos about entity, to check if it is a gateway"""
|
||||
|
|
@ -76,6 +77,18 @@ class XEP_0100():
|
|||
debug ("item found: %s", item.name)
|
||||
self.host.disco.requestInfo(item.entity).addCallback(self.discoInfo, entity=item.entity, request_id=request_id)
|
||||
|
||||
def registrationSuccessful(self, target):
|
||||
"""Called when in_band registration is ok, we must now follow the rest of procedure"""
|
||||
print "Registration successful, doing the rest"
|
||||
self.host.addContact(target)
|
||||
self.host.setPresence(target)
|
||||
|
||||
def gatewayRegister(self, action, target, fields):
|
||||
"""Register gateway using in-band registration, then log-in to gateway"""
|
||||
if action == 'SUBMIT':
|
||||
self.host.plugins["XEP_0077"].addTrigger(target, self.registrationSuccessful)
|
||||
return self.host.plugins["XEP_0077"].in_band_submit(action, target, fields)
|
||||
|
||||
def findGateways(self, target):
|
||||
"""Find gateways in the target JID, using discovery protocol
|
||||
Return an id used for retrieving the list of gateways
|
||||
|
|
|
|||
Loading…
Reference in a new issue