XMPP: AngularJs + Strophe.js
Eu tenho um cliente XMPP básico trabalhando no strophe.js.
No login, crio manipuladores como
connect = new Strophe.Connection('http://localhost/http-bind');
...
...
connect.addHandler(on_message, null, "message", "chat");
connect.addHandler(on_presence, null, "presence");
...
...
e então eu "escuto" aqueles
function on_presence(presence) {
// handling presence
}
function on_message(presence) {
// handling presence
}
Então, eu estou tentando "convertê-lo" em AngularJS. A primeira parte é bem simples. Eu tenho um controlador que lida com a parte de login muito bem:
angular.module('app').controller('loginCtrl', function($scope) {
connect = new Strophe.Connection('http://website.com/http-bind');
connect.connect(data.jid, data.password, function (status) {
if (status === Strophe.Status.CONNECTED) {
connect.addHandler(on_message, null, "message", "chat");
connect.addHandler(on_presence, null, "presence");
}
}
})
Mas como realmente começo a ouvir esses eventos (on_message, on_presence) no contexto de angular em todos os controladores que tenho.