1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
'use strict';
angular.module('Alias.services', [], function($provide) {
$provide.factory('StropheSrv', ['$log', '$rootScope',
function($log, $rootScope) {
var connection = new Strophe.Connection(BOSH_SERVICE);
return {
login: function(name, password, connect_callback) {
connection.connect(name, password, connect_callback);
},
sendIQ: function(query, callback) {
connection.sendIQ(query, function (data) {
$rootScope.$apply(callback(data));
});
},
addHandler: function(callback, name, type) {
connection.addHandler(function (stanza) {
$rootScope.$apply(callback(stanza));
return true;
}, null, name, type, null, null, null);
},
send: function(stanza) {
connection.send(stanza);
},
disconnect: function() {
connection.disconnect("disconnect");
}
};
}]);
});
|