1
- /*
1
+ /**
2
2
* QuickBlox JavaScript SDK
3
- *
4
3
* WebRTC Module (WebRTC signaling provider)
5
- *
6
4
*/
7
5
8
6
require ( '../../../lib/strophe/strophe.min' ) ;
7
+
9
8
var Helpers = require ( './qbWebRTCHelpers' ) ;
10
9
var SignalingConstants = require ( './qbWebRTCSignalingConstants' ) ;
11
10
12
11
function WebRTCSignalingProcessor ( service , delegate , connection ) {
13
- this . service = service ;
14
- this . delegate = delegate ;
15
- this . connection = connection ;
16
-
17
12
var self = this ;
18
13
14
+ self . service = service ;
15
+ self . delegate = delegate ;
16
+ self . connection = connection ;
17
+
19
18
this . _onMessage = function ( stanza ) {
20
19
var from = stanza . getAttribute ( 'from' ) ;
21
20
var extraParams = stanza . querySelector ( 'extraParams' ) ;
@@ -30,7 +29,7 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
30
29
var sessionId = extension . sessionID ;
31
30
var signalType = extension . signalType ;
32
31
33
- // cleanup
32
+ /** cleanup */
34
33
delete extension . moduleIdentifier ;
35
34
delete extension . sessionID ;
36
35
delete extension . signalType ;
@@ -40,42 +39,43 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
40
39
if ( typeof self . delegate . _onCallListener === 'function' ) {
41
40
self . delegate . _onCallListener ( userId , sessionId , extension ) ;
42
41
}
43
-
44
42
break ;
43
+
45
44
case SignalingConstants . SignalingType . ACCEPT :
46
45
if ( typeof self . delegate . _onAcceptListener === 'function' ) {
47
46
self . delegate . _onAcceptListener ( userId , sessionId , extension ) ;
48
47
}
49
-
50
48
break ;
49
+
51
50
case SignalingConstants . SignalingType . REJECT :
52
51
if ( typeof self . delegate . _onRejectListener === 'function' ) {
53
52
self . delegate . _onRejectListener ( userId , sessionId , extension ) ;
54
53
}
55
-
56
54
break ;
55
+
57
56
case SignalingConstants . SignalingType . STOP :
58
57
if ( typeof self . delegate . _onStopListener === 'function' ) {
59
58
self . delegate . _onStopListener ( userId , sessionId , extension ) ;
60
59
}
61
-
62
60
break ;
61
+
63
62
case SignalingConstants . SignalingType . CANDIDATE :
64
63
if ( typeof self . delegate . _onIceCandidatesListener === 'function' ) {
65
64
self . delegate . _onIceCandidatesListener ( userId , sessionId , extension ) ;
66
65
}
67
-
68
66
break ;
67
+
69
68
case SignalingConstants . SignalingType . PARAMETERS_CHANGED :
70
69
if ( typeof self . delegate . _onUpdateListener === 'function' ) {
71
70
self . delegate . _onUpdateListener ( userId , sessionId , extension ) ;
72
71
}
73
-
74
72
break ;
75
73
}
76
74
77
- // we must return true to keep the handler alive
78
- // returning false would remove it after it finishes
75
+ /**
76
+ * we must return true to keep the handler alive
77
+ * returning false would remove it after it finishes
78
+ */
79
79
return true ;
80
80
} ;
81
81
@@ -90,27 +90,28 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
90
90
for ( var i = 0 , len = extraParams . childNodes . length ; i < len ; i ++ ) {
91
91
if ( extraParams . childNodes [ i ] . tagName === 'iceCandidates' ) {
92
92
93
- // iceCandidates
93
+ /** iceCandidates */
94
94
items = extraParams . childNodes [ i ] . childNodes ;
95
95
96
96
for ( var j = 0 , len2 = items . length ; j < len2 ; j ++ ) {
97
97
candidate = { } ;
98
98
childrenNodes = items [ j ] . childNodes ;
99
+
99
100
for ( var k = 0 , len3 = childrenNodes . length ; k < len3 ; k ++ ) {
100
101
candidate [ childrenNodes [ k ] . tagName ] = childrenNodes [ k ] . textContent ;
101
102
}
103
+
102
104
iceCandidates . push ( candidate ) ;
103
105
}
104
106
105
107
} else if ( extraParams . childNodes [ i ] . tagName === 'opponentsIDs' ) {
106
-
107
- // opponentsIDs
108
+ /** opponentsIDs */
108
109
items = extraParams . childNodes [ i ] . childNodes ;
109
- for ( var j = 0 , len2 = items . length ; j < len2 ; j ++ ) {
110
- opponent = items [ j ] . textContent ;
110
+
111
+ for ( var v = 0 , len2v = items . length ; v < len2v ; v ++ ) {
112
+ opponent = items [ v ] . textContent ;
111
113
opponents . push ( parseInt ( opponent ) ) ;
112
114
}
113
-
114
115
} else {
115
116
if ( extraParams . childNodes [ i ] . childNodes . length > 1 ) {
116
117
var nodeTextContentSize = extraParams . childNodes [ i ] . textContent . length ;
@@ -126,9 +127,7 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
126
127
extension = self . _XMLtoJS ( extension , extraParams . childNodes [ i ] . tagName , extraParams . childNodes [ i ] ) ;
127
128
}
128
129
} else {
129
-
130
130
extension [ extraParams . childNodes [ i ] . tagName ] = extraParams . childNodes [ i ] . textContent ;
131
-
132
131
}
133
132
}
134
133
}
@@ -139,14 +138,14 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
139
138
extension . opponentsIDs = opponents ;
140
139
}
141
140
142
-
143
141
return extension ;
144
142
} ;
145
143
146
144
// TODO: the magic
147
145
this . _XMLtoJS = function ( extension , title , obj ) {
148
146
var self = this ;
149
147
extension [ title ] = { } ;
148
+
150
149
for ( var i = 0 , len = obj . childNodes . length ; i < len ; i ++ ) {
151
150
if ( obj . childNodes [ i ] . childNodes . length > 1 ) {
152
151
extension [ title ] = self . _XMLtoJS ( extension [ title ] , obj . childNodes [ i ] . tagName , obj . childNodes [ i ] ) ;
@@ -158,4 +157,4 @@ function WebRTCSignalingProcessor(service, delegate, connection) {
158
157
} ;
159
158
}
160
159
161
- module . exports = WebRTCSignalingProcessor ;
160
+ module . exports = WebRTCSignalingProcessor ;
0 commit comments