소스 검색

Remove UI references from xmpp-related modules

Conflicts:
	modules/xmpp/JingleSession.js
	service/xmpp/XMPPEvents.js
j8
Devin Wilson 10 년 전
부모
커밋
156b218bfc
9개의 변경된 파일20945개의 추가작업 그리고 20838개의 파일을 삭제
  1. 20847
    20794
      libs/app.bundle.js
  2. 59
    1
      modules/UI/UI.js
  3. 6
    6
      modules/xmpp/JingleSession.js
  4. 2
    5
      modules/xmpp/moderator.js
  5. 5
    9
      modules/xmpp/strophe.emuc.js
  6. 2
    2
      modules/xmpp/strophe.jingle.js
  7. 4
    2
      modules/xmpp/strophe.moderate.js
  8. 6
    17
      modules/xmpp/xmpp.js
  9. 14
    2
      service/xmpp/XMPPEvents.js

+ 20847
- 20794
libs/app.bundle.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 59
- 1
modules/UI/UI.js 파일 보기

27
 var RTCBrowserType = require("../RTC/RTCBrowserType");
27
 var RTCBrowserType = require("../RTC/RTCBrowserType");
28
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
28
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
29
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
29
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
30
+var UIEvents = require("../../service/UI/UIEvents");
30
 var MemberEvents = require("../../service/members/Events");
31
 var MemberEvents = require("../../service/members/Events");
31
 
32
 
32
 var eventEmitter = new EventEmitter();
33
 var eventEmitter = new EventEmitter();
273
     APP.xmpp.addListener(XMPPEvents.VIDEO_MUTED, VideoLayout.onVideoMute);
274
     APP.xmpp.addListener(XMPPEvents.VIDEO_MUTED, VideoLayout.onVideoMute);
274
     APP.members.addListener(MemberEvents.DTMF_SUPPORT_CHANGED,
275
     APP.members.addListener(MemberEvents.DTMF_SUPPORT_CHANGED,
275
                             onDtmfSupportChanged);
276
                             onDtmfSupportChanged);
276
-    APP.xmpp.addListener(XMPPEvents.START_MUTED, function (audio, video) {
277
+    APP.xmpp.addListener(XMPPEvents.START_MUTED_SETTING_CHANGED, function (audio, video) {
277
         SettingsMenu.setStartMuted(audio, video);
278
         SettingsMenu.setStartMuted(audio, video);
278
     });
279
     });
280
+    APP.xmpp.addListener(XMPPEvents.START_MUTED_FROM_FOCUS, function (audio, video) {
281
+        UI.setInitialMuteFromFocus(audio, video);
282
+    });
283
+
284
+    APP.xmpp.addListener(XMPPEvents.JINGLE_FATAL_ERROR, function (session, error) {
285
+        UI.messageHandler.showError("dialog.sorry",
286
+            "dialog.internalError");
287
+    });
288
+
289
+    APP.xmpp.addListener(XMPPEvents.SET_LOCAL_DESCRIPTION_ERROR, function() {
290
+        messageHandler.showError("dialog.error",
291
+                                        "dialog.SLDFailure");
292
+    });
293
+    APP.xmpp.addListener(XMPPEvents.SET_REMOTE_DESCRIPTION_ERROR, function() {
294
+        messageHandler.showError("dialog.error",
295
+            "dialog.SRDFailure");
296
+    });
297
+    APP.xmpp.addListener(XMPPEvents.CREATE_ANSWER_ERROR, function() {
298
+        messageHandler.showError();
299
+    });
300
+    APP.xmpp.addListener(XMPPEvents.CREATE_ANSWER_ERROR, function() {
301
+        messageHandler.showError();
302
+    });
303
+    APP.xmpp.addListener(XMPPEvents.PROMPT_FOR_LOGIN, function() {
304
+        // FIXME: re-use LoginDialog which supports retries
305
+        UI.showLoginPopup(connect);
306
+    });
307
+    
308
+    APP.xmpp.addListener(XMPPEvents.FOCUS_DISCONNECTED, function(focusComponent, retrySec) {
309
+        UI.messageHandler.notify(
310
+            null, "notify.focus",
311
+            'disconnected', "notify.focusFail",
312
+            {component: focusComponent, ms: retrySec});
313
+    });
314
+    
315
+    APP.xmpp.addListener(XMPPEvents.ROOM_JOIN_ERROR, function(pres) {
316
+        UI.messageHandler.openReportDialog(null,
317
+            "dialog.joinError", pres);
318
+    });
319
+    APP.xmpp.addListener(XMPPEvents.ROOM_CONNECT_ERROR, function(pres) {
320
+        UI.messageHandler.openReportDialog(null,
321
+            "dialog.connectError", pres);
322
+    });
323
+    
324
+    APP.xmpp.addListener(XMPPEvents.AUDIO_MUTED_BY_FOCUS, function(doMuteAudio) {
325
+        UI.setAudioMuted(doMuteAudio);
326
+    });
327
+
328
+    APP.xmpp.addListener(XMPPEvents.READY_TO_JOIN, function() {
329
+        var roomName = UI.generateRoomName();
330
+        APP.xmpp.allocateConferenceFocus(roomName, UI.checkForNicknameAndJoin);
331
+    });
332
+    
333
+    //NicknameHandler emits this event
334
+    UI.addListener(UIEvents.NICKNAME_CHANGED, function (nickname) {
335
+        APP.xmpp.addToPresence("displayName", nickname);
336
+    });
279
 }
337
 }
280
 
338
 
281
 
339
 

+ 6
- 6
modules/xmpp/JingleSession.js 파일 보기

28
     this.ice_config = {};
28
     this.ice_config = {};
29
     this.drip_container = [];
29
     this.drip_container = [];
30
     this.service = service;
30
     this.service = service;
31
+    this.eventEmitter = eventEmitter;
31
 
32
 
32
     this.usetrickle = true;
33
     this.usetrickle = true;
33
     this.usepranswer = false; // early transport warmup -- mind you, this might fail. depends on webrtc issue 1718
34
     this.usepranswer = false; // early transport warmup -- mind you, this might fail. depends on webrtc issue 1718
131
                 this.stopTime = new Date();
132
                 this.stopTime = new Date();
132
                 break;
133
                 break;
133
             case 'failed':
134
             case 'failed':
134
-                self.eventEmitter(XMPPEvents.CONFERENCE_SETUP_FAILED);
135
+                self.eventEmitter.emit(XMPPEvents.CONFERENCE_SETUP_FAILED);
135
                 break;
136
                 break;
136
         }
137
         }
137
         onIceConnectionStateChange(self.sid, self);
138
         onIceConnectionStateChange(self.sid, self);
1283
 {
1284
 {
1284
     this.service.sessionTerminated = true;
1285
     this.service.sessionTerminated = true;
1285
     this.connection.emuc.doLeave();
1286
     this.connection.emuc.doLeave();
1286
-    APP.UI.messageHandler.showError("dialog.sorry",
1287
-        "dialog.internalError");
1288
     this.eventEmitter.emit(XMPPEvents.CONFERENCE_SETUP_FAILED);
1287
     this.eventEmitter.emit(XMPPEvents.CONFERENCE_SETUP_FAILED);
1288
+    this.eventEmitter.emit(XMPPEvents.JINGLE_FATAL_ERROR, session, error);
1289
 }
1289
 }
1290
 
1290
 
1291
 JingleSession.prototype.setLocalDescription = function () {
1291
 JingleSession.prototype.setLocalDescription = function () {
1348
                         },
1348
                         },
1349
                         function (error) {
1349
                         function (error) {
1350
                             console.log('triggerKeyframe setLocalDescription failed', error);
1350
                             console.log('triggerKeyframe setLocalDescription failed', error);
1351
-                            APP.UI.messageHandler.showError();
1351
+                            eventEmitter.emit(XMPPEvents.SET_LOCAL_DESCRIPTION_ERROR);
1352
                         }
1352
                         }
1353
                     );
1353
                     );
1354
                 },
1354
                 },
1355
                 function (error) {
1355
                 function (error) {
1356
                     console.log('triggerKeyframe createAnswer failed', error);
1356
                     console.log('triggerKeyframe createAnswer failed', error);
1357
-                    APP.UI.messageHandler.showError();
1357
+                    eventEmitter.emit(XMPPEvents.CREATE_ANSWER_ERROR);
1358
                 }
1358
                 }
1359
             );
1359
             );
1360
         },
1360
         },
1361
         function (error) {
1361
         function (error) {
1362
             console.log('triggerKeyframe setRemoteDescription failed', error);
1362
             console.log('triggerKeyframe setRemoteDescription failed', error);
1363
-            APP.UI.messageHandler.showError();
1363
+            eventEmitter.emit(XMPPEvents.SET_REMOTE_DESCRIPTION_ERROR);
1364
         }
1364
         }
1365
     );
1365
     );
1366
 }
1366
 }

+ 2
- 5
modules/xmpp/moderator.js 파일 보기

1
-/* global $, $iq, APP, config, connection, UI, messageHandler,
1
+/* global $, $iq, APP, config, connection, messageHandler,
2
  roomName, sessionTerminated, Strophe, Util */
2
  roomName, sessionTerminated, Strophe, Util */
3
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
3
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
4
 var Settings = require("../settings/Settings");
4
 var Settings = require("../settings/Settings");
333
                 // Do not show in case of session invalid
333
                 // Do not show in case of session invalid
334
                 // which means just a retry
334
                 // which means just a retry
335
                 if (!invalidSession) {
335
                 if (!invalidSession) {
336
-                    APP.UI.messageHandler.notify(
337
-                        null, "notify.focus",
338
-                        'disconnected', "notify.focusFail",
339
-                        {component: focusComponent, ms: retrySec});
336
+                    eventEmitter.emit(XMPPEvents.FOCUS_DISCONNECTED, focusComponent, retrySec);
340
                 }
337
                 }
341
                 // Reset response timeout
338
                 // Reset response timeout
342
                 getNextTimeout(true);
339
                 getNextTimeout(true);

+ 5
- 9
modules/xmpp/strophe.emuc.js 파일 보기

155
             var startMuted = $(pres).find('>startmuted');
155
             var startMuted = $(pres).find('>startmuted');
156
             if (startMuted.length)
156
             if (startMuted.length)
157
             {
157
             {
158
-                eventEmitter.emit(XMPPEvents.START_MUTED,
158
+                eventEmitter.emit(XMPPEvents.START_MUTED_SETTING_CHANGED,
159
                     startMuted.attr("audio") === "true", startMuted.attr("video") === "true");
159
                     startMuted.attr("audio") === "true", startMuted.attr("video") === "true");
160
             }
160
             }
161
 
161
 
321
                     // We're either missing Jicofo/Prosody config for anonymous
321
                     // We're either missing Jicofo/Prosody config for anonymous
322
                     // domains or something is wrong.
322
                     // domains or something is wrong.
323
 //                    XMPP.promptLogin();
323
 //                    XMPP.promptLogin();
324
-                    APP.UI.messageHandler.openReportDialog(null,
325
-                        "dialog.joinError", pres);
324
+                    eventEmitter.emit(XMPPEvents.ROOM_JOIN_ERROR, pres);
325
+
326
                 } else {
326
                 } else {
327
                     console.warn('onPresError ', pres);
327
                     console.warn('onPresError ', pres);
328
-                    APP.UI.messageHandler.openReportDialog(null,
329
-                        "dialog.connectError",
330
-                        pres);
328
+                    eventEmitter.emit(XMPPEvents.ROOM_CONNECT_ERROR, pres);
331
                 }
329
                 }
332
             } else {
330
             } else {
333
                 console.warn('onPresError ', pres);
331
                 console.warn('onPresError ', pres);
334
-                APP.UI.messageHandler.openReportDialog(null,
335
-                    "dialog.connectError",
336
-                    pres);
332
+                eventEmitter.emit(XMPPEvents.ROOM_CONNECT_ERROR, pres);
337
             }
333
             }
338
             return true;
334
             return true;
339
         },
335
         },

+ 2
- 2
modules/xmpp/strophe.jingle.js 파일 보기

119
                     {
119
                     {
120
                         var audioMuted = startMuted.attr("audio");
120
                         var audioMuted = startMuted.attr("audio");
121
                         var videoMuted = startMuted.attr("video");
121
                         var videoMuted = startMuted.attr("video");
122
-                        APP.UI.setInitialMuteFromFocus((audioMuted === "true"),
123
-                            (videoMuted === "true"));
122
+                        eventEmitter.emit(XMPPEvents.START_MUTED_FROM_FOCUS,
123
+                                startMuted.attr("audio") === "true", startMuted.attr("video") === "true");
124
                     }
124
                     }
125
                     sess = new JingleSession(
125
                     sess = new JingleSession(
126
                         $(iq).attr('to'), $(iq).find('jingle').attr('sid'),
126
                         $(iq).attr('to'), $(iq).find('jingle').attr('sid'),

+ 4
- 2
modules/xmpp/strophe.moderate.js 파일 보기

3
 /**
3
 /**
4
  * Moderate connection plugin.
4
  * Moderate connection plugin.
5
  */
5
  */
6
-module.exports = function (XMPP) {
6
+var XMPPEvents = require("../../service/xmpp/XMPPEvents");
7
+
8
+module.exports = function (XMPP, eventEmitter) {
7
     Strophe.addConnectionPlugin('moderate', {
9
     Strophe.addConnectionPlugin('moderate', {
8
         connection: null,
10
         connection: null,
9
         init: function (conn) {
11
         init: function (conn) {
44
             var mute = $(iq).find('mute');
46
             var mute = $(iq).find('mute');
45
             if (mute.length) {
47
             if (mute.length) {
46
                 var doMuteAudio = mute.text() === "true";
48
                 var doMuteAudio = mute.text() === "true";
47
-                APP.UI.setAudioMuted(doMuteAudio);
49
+                eventEmitter.emit(XMPPEvents.AUDIO_MUTED_BY_FOCUS, doMuteAudio);
48
                 XMPP.forceMuted = doMuteAudio;
50
                 XMPP.forceMuted = doMuteAudio;
49
             }
51
             }
50
             return true;
52
             return true;

+ 6
- 17
modules/xmpp/xmpp.js 파일 보기

7
 var Pako = require("pako");
7
 var Pako = require("pako");
8
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
8
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
9
 var RTCEvents = require("../../service/RTC/RTCEvents");
9
 var RTCEvents = require("../../service/RTC/RTCEvents");
10
-var UIEvents = require("../../service/UI/UIEvents");
11
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
10
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
12
 var retry = require('retry');
11
 var retry = require('retry');
13
 
12
 
163
 }
162
 }
164
 
163
 
165
 function doJoin() {
164
 function doJoin() {
166
-    var roomName = APP.UI.generateRoomName();
167
-
168
-    Moderator.allocateConferenceFocus(
169
-        roomName, APP.UI.checkForNicknameAndJoin);
165
+    eventEmitter.emit(XMPPEvents.READY_TO_JOIN);
170
 }
166
 }
171
 
167
 
172
 function initStrophePlugins()
168
 function initStrophePlugins()
173
 {
169
 {
174
     require("./strophe.emuc")(XMPP, eventEmitter);
170
     require("./strophe.emuc")(XMPP, eventEmitter);
175
     require("./strophe.jingle")(XMPP, eventEmitter);
171
     require("./strophe.jingle")(XMPP, eventEmitter);
176
-    require("./strophe.moderate")(XMPP);
172
+    require("./strophe.moderate")(XMPP, eventEmitter);
177
     require("./strophe.util")();
173
     require("./strophe.util")();
178
     require("./strophe.rayo")();
174
     require("./strophe.rayo")();
179
     require("./strophe.logger")();
175
     require("./strophe.logger")();
184
         StreamEventTypes.EVENT_TYPE_LOCAL_CREATED);
180
         StreamEventTypes.EVENT_TYPE_LOCAL_CREATED);
185
     APP.RTC.addListener(RTCEvents.AVAILABLE_DEVICES_CHANGED, function (devices) {
181
     APP.RTC.addListener(RTCEvents.AVAILABLE_DEVICES_CHANGED, function (devices) {
186
         XMPP.addToPresence("devices", devices);
182
         XMPP.addToPresence("devices", devices);
187
-    })
188
-    APP.UI.addListener(UIEvents.NICKNAME_CHANGED, function (nickname) {
189
-        XMPP.addToPresence("displayName", nickname);
190
     });
183
     });
191
 }
184
 }
192
 
185
 
279
         return Strophe.getStatusString(status);
272
         return Strophe.getStatusString(status);
280
     },
273
     },
281
     promptLogin: function () {
274
     promptLogin: function () {
282
-        // FIXME: re-use LoginDialog which supports retries
283
-        APP.UI.showLoginPopup(connect);
275
+        eventEmitter.emit(XMPPEvents.PROMPT_FOR_LOGIN);
284
     },
276
     },
285
     joinRoom: function(roomName, useNicks, nick)
277
     joinRoom: function(roomName, useNicks, nick)
286
     {
278
     {
459
                             },
451
                             },
460
                             function (error) {
452
                             function (error) {
461
                                 console.log('mute SLD error');
453
                                 console.log('mute SLD error');
462
-                                APP.UI.messageHandler.showError("dialog.error",
463
-                                    "dialog.SLDFailure");
454
+                                eventEmitter.emit(XMPPEvents.SET_LOCAL_DESCRIPTION_ERROR);
464
                             }
455
                             }
465
                         );
456
                         );
466
                     },
457
                     },
467
                     function (error) {
458
                     function (error) {
468
                         console.log(error);
459
                         console.log(error);
469
-                        APP.UI.messageHandler.showError();
460
+                        eventEmitter.emit(XMPPEvents.CREATE_ANSWER_ERROR);
470
                     }
461
                     }
471
                 );
462
                 );
472
             },
463
             },
473
             function (error) {
464
             function (error) {
474
                 console.log('muteVideo SRD error');
465
                 console.log('muteVideo SRD error');
475
-                APP.UI.messageHandler.showError("dialog.error",
476
-                    "dialog.SRDFailure");
477
-
466
+                eventEmitter.emit(XMPPEvents.SET_REMOTE_DESCRIPTION_ERROR);
478
             }
467
             }
479
         );
468
         );
480
     },
469
     },

+ 14
- 2
service/xmpp/XMPPEvents.js 파일 보기

28
     CHAT_ERROR_RECEIVED: "xmpp.chat_error_received",
28
     CHAT_ERROR_RECEIVED: "xmpp.chat_error_received",
29
     ETHERPAD: "xmpp.etherpad",
29
     ETHERPAD: "xmpp.etherpad",
30
     DEVICE_AVAILABLE: "xmpp.device_available",
30
     DEVICE_AVAILABLE: "xmpp.device_available",
31
-    START_MUTED: "xmpp.start_muted",
32
     PEERCONNECTION_READY: "xmpp.peerconnection_ready",
31
     PEERCONNECTION_READY: "xmpp.peerconnection_ready",
33
     CONFERENCE_SETUP_FAILED: "xmpp.conference_setup_failed",
32
     CONFERENCE_SETUP_FAILED: "xmpp.conference_setup_failed",
34
     AUDIO_MUTED: "xmpp.audio_muted",
33
     AUDIO_MUTED: "xmpp.audio_muted",
35
-    VIDEO_MUTED: "xmpp.video_muted"
34
+    VIDEO_MUTED: "xmpp.video_muted",
35
+    AUDIO_MUTED_BY_FOCUS: "xmpp.audio_muted_by_focus",
36
+    START_MUTED_SETTING_CHANGED: "xmpp.start_muted_setting_changed",
37
+    START_MUTED_FROM_FOCUS: "xmpp.start_muted_from_focus",
38
+    SET_LOCAL_DESCRIPTION_ERROR: 'xmpp.set_local_description_error',
39
+    SET_REMOTE_DESCRIPTION_ERROR: 'xmpp.set_remote_description_error',
40
+    CREATE_ANSWER_ERROR: 'xmpp.create_answer_error',
41
+    JINGLE_FATAL_ERROR: 'xmpp.jingle_fatal_error',
42
+    PROMPT_FOR_LOGIN: 'xmpp.prompt_for_login',
43
+    FOCUS_DISCONNECTED: 'xmpp.focus_disconnected',
44
+    ROOM_JOIN_ERROR: 'xmpp.room_join_error',
45
+    ROOM_CONNECT_ERROR: 'xmpp.room_connect_error',
46
+    // xmpp is connected and obtained user media
47
+    READY_TO_JOIN: 'xmpp.ready_to_join'
36
 };
48
 };
37
 module.exports = XMPPEvents;
49
 module.exports = XMPPEvents;

Loading…
취소
저장