Skip to content
Snippets Groups Projects
Commit be38a7a1 authored by Liorithiel's avatar Liorithiel
Browse files

Jingle: declining session

parent 2a7f1a65
No related branches found
No related tags found
No related merge requests found
......@@ -78,7 +78,7 @@ class JingleSession(object):
'session-accept': [self.__contentAcceptCB, self.__broadcastCB, self.__defaultCB],
'session-info': [self.__defaultCB],
'session-initiate': [self.__sessionInitiateCB, self.__broadcastCB, self.__defaultCB],
'session-terminate': [self.__defaultCB],
'session-terminate': [self.__broadcastAllCB, self.__defaultCB],
'transport-info': [self.__broadcastCB, self.__defaultCB],
'iq-result': [],
'iq-error': [],
......@@ -136,7 +136,6 @@ class JingleSession(object):
self.accepted and \
all(c.negotiated for c in self.contents.itervalues()):
self.__sessionAccept()
else:
''' Middle-level function to do stanza exchange. '''
def startSession(self):
''' Start session. '''
......@@ -232,6 +231,11 @@ class JingleSession(object):
cn = self.contents[(creator, name)]
cn.stanzaCB(stanza, content, error, action)
def __broadcastAllCB(self, stanza, jingle, error, action):
''' Broadcast the stanza to all content handlers. '''
for content in self.contents.itervalues():
content.stanzaCB(stanza, None, error, action)
def on_p2psession_error(self, *anything): pass
''' Methods that make/send proper pieces of XML. They check if the session
......@@ -285,8 +289,8 @@ class JingleSession(object):
def __sessionTerminate(self):
assert self.state!=JingleStates.ended
stanza, jingle = self.__makeJingle('session-terminate')
self.__broadcastAllCB(stanza, jingle, None, 'session-terminate-sent')
self.connection.connection.send(stanza)
self.__broadcastCB(stanza, jingle, None, 'session-terminate-sent')
def __contentAdd(self):
assert self.state==JingleStates.active
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment