OSDN Git Service

Modified: Upload, Command execution
[eos/zephyr.git] / front-end / app / scripts / services / WebSocket.ts
1 namespace app.services{
2     export class WebSocket {
3         private socket: any;
4
5         constructor(private $rootScope: ng.IRootScopeService) {
6             this.socket = io.connect();
7         }
8
9         public on(eventName, callback) {
10             var socket = this.socket;
11             var rootScope = this.$rootScope;
12
13             socket.on(eventName, function() {
14                 var args = arguments
15                 rootScope.$apply(function() {
16                     callback.apply(socket, args)
17                 });
18             });
19         }
20
21         public emit(eventName, data, callback) {
22             var socket = this.socket;
23             var rootScope = this.$rootScope;
24
25             this.socket.emit(eventName, data, function() {
26                 var args = arguments
27                 rootScope.$apply(function() {
28                     if(callback) 
29                         callback.apply(socket, args)
30                 });
31             });
32         }
33     }
34 }