Mercurial > prosody-hg
comparison util/xmppstream.lua @ 3424:9e0df614e5d0
util.xmppstream: Add set_session() method to change the session that a stream is associated with
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 02 Aug 2010 10:21:26 +0100 |
| parents | 38459cffaf67 |
| children | e6a78e15fed2 |
comparison
equal
deleted
inserted
replaced
| 3423:929fb7b65d2c | 3424:9e0df614e5d0 |
|---|---|
| 143 | 143 |
| 144 local function reset() | 144 local function reset() |
| 145 stanza, chardata = nil, {}; | 145 stanza, chardata = nil, {}; |
| 146 end | 146 end |
| 147 | 147 |
| 148 return xml_handlers, { reset = reset }; | 148 local function set_session(stream, new_session) |
| 149 session = new_session; | |
| 150 log = new_session.log or default_log; | |
| 151 end | |
| 152 | |
| 153 return xml_handlers, { reset = reset, set_session = set_session }; | |
| 149 end | 154 end |
| 150 | 155 |
| 151 function new(session, stream_callbacks) | 156 function new(session, stream_callbacks) |
| 152 local handlers, meta = new_sax_handlers(session, stream_callbacks); | 157 local handlers, meta = new_sax_handlers(session, stream_callbacks); |
| 153 local parser = new_parser(handlers, ns_separator); | 158 local parser = new_parser(handlers, ns_separator); |
| 159 parse = parser.parse; | 164 parse = parser.parse; |
| 160 meta.reset(); | 165 meta.reset(); |
| 161 end, | 166 end, |
| 162 feed = function (self, data) | 167 feed = function (self, data) |
| 163 return parse(parser, data); | 168 return parse(parser, data); |
| 164 end | 169 end, |
| 170 set_session = meta.set_session; | |
| 165 }; | 171 }; |
| 166 end | 172 end |
| 167 | 173 |
| 168 return _M; | 174 return _M; |
