@@ -17,36 +17,32 @@ export class QiSession {
17
17
_sigs : Array < any > ;
18
18
_idm : number ;
19
19
_socket : any ;
20
-
20
+
21
21
constructor (
22
- ipAddress : string = 'nao.local' ,
22
+ ipAddress : string = 'nao.local' ,
23
23
port : string = '80' ,
24
24
connected ?: any ,
25
25
disconnected ?: any
26
26
) {
27
27
this . connected = connected ;
28
28
this . disconnected = disconnected ;
29
29
console . log ( 'DBG Emile qim about to connect w/17' ) ;
30
- let _socket = this . _socket = io . connect ( 'nao:nao@' + ipAddress + ':' + port , {
30
+ this . _socket = io . connect ( 'nao:nao@' + ipAddress + ':' + port , {
31
31
resource : 'libs/qimessaging/2/socket.io' ,
32
32
'force new connection' : true ,
33
33
} ) ;
34
34
console . log ( 'DBG Emile qim connecting..' ) ;
35
- let _dfd = this . _dfd = new Array ( ) ;
36
- let _sigs = this . _sigs = new Array ( ) ;
35
+ let _dfd = ( this . _dfd = new Array ( ) ) ;
36
+ let _sigs = ( this . _sigs = new Array ( ) ) ;
37
37
this . _idm = 0 ;
38
38
39
39
interface replyType {
40
- __MetaObject ?: any ,
41
- [ key : string ] : any ,
40
+ __MetaObject ?: any ;
41
+ [ key : string ] : any ;
42
42
}
43
43
44
-
45
- _socket . on ( 'reply' , ( data : any ) => {
44
+ this . _socket . on ( 'reply' , ( data : any ) => {
46
45
console . log ( 'DBG Emile qim reply' ) ;
47
- // @ts -ignore
48
- window [ 'datata' ] = data ;
49
- console . log ( "here's the datata" , data ) ; // REMOVE
50
46
51
47
let idm = data [ 'idm' ] ;
52
48
if ( data [ 'result' ] != null && data [ 'result' ] [ 'metaobject' ] != undefined ) {
@@ -60,25 +56,34 @@ export class QiSession {
60
56
61
57
for ( let i in methods ) {
62
58
let methodName = methods [ i ] [ 'name' ] ;
63
- replyObject [ methodName ] = this . createMetaCall ( pyobj , methodName , 'data' ) ;
59
+ replyObject [ methodName ] = this . createMetaCall (
60
+ pyobj ,
61
+ methodName ,
62
+ 'data'
63
+ ) ;
64
64
}
65
+
65
66
let signals = replyObject . __MetaObject [ 'signals' ] ;
66
67
for ( let i in signals ) {
67
68
let signalName = signals [ i ] [ 'name' ] ;
68
- replyObject [ signalName ] = this . createMetaSignal ( pyobj , signalName , false ) ;
69
+ replyObject [ signalName ] = this . createMetaSignal (
70
+ pyobj ,
71
+ signalName ,
72
+ false
73
+ ) ;
69
74
}
75
+
70
76
let properties = replyObject . __MetaObject [ 'properties' ] ;
71
77
for ( let i in properties ) {
72
78
let propertyName = properties [ i ] [ 'name' ] ;
73
- replyObject [ propertyName ] = this . createMetaSignal ( pyobj , propertyName , true ) ;
79
+ replyObject [ propertyName ] = this . createMetaSignal (
80
+ pyobj ,
81
+ propertyName ,
82
+ true
83
+ ) ;
74
84
}
75
- _dfd [ idm ] . resolve ( replyObject ) ;
76
85
77
- console . log ( 'What is this o' ) ; // REMOVE
78
- // @ts -ignore
79
- window [ 'ooo' ] = replyObject ; // REMOVE
80
- // @ts -ignore
81
- window [ 'dfd' ] = _dfd ; // REMOVE
86
+ _dfd [ idm ] . resolve ( replyObject ) ;
82
87
} else {
83
88
if ( _dfd [ idm ] . __cbi != undefined ) {
84
89
let cbi = _dfd [ idm ] . __cbi ;
@@ -89,62 +94,57 @@ export class QiSession {
89
94
delete _dfd [ idm ] ;
90
95
} ) ;
91
96
92
- _socket . on ( 'error' , function ( data : any ) {
97
+ this . _socket . on ( 'error' , function ( data : any ) {
93
98
console . log ( 'DBG Emile qim error' ) ;
94
99
if ( data [ 'idm' ] != undefined ) {
95
100
_dfd [ data [ 'idm' ] ] . reject ( data [ 'result' ] ) ;
96
101
delete _dfd [ data [ 'idm' ] ] ;
97
102
}
98
103
} ) ;
99
104
100
- _socket . on ( 'signal' , ( data : any ) => {
101
- console . log ( " DBG Emile qim signal" ) ;
105
+ this . _socket . on ( 'signal' , ( data : any ) => {
106
+ console . log ( ' DBG Emile qim signal' ) ;
102
107
let res = data [ 'result' ] ;
103
108
let callback = _sigs [ res [ 'obj' ] ] [ res [ 'signal' ] ] [ res [ 'link' ] ] ;
104
109
if ( callback != undefined ) {
105
110
callback . apply ( this , res [ 'data' ] ) ;
106
111
}
107
112
} ) ;
108
113
109
- _socket . on ( 'disconnect' , ( data : any ) => {
110
- console . log ( " DBG Emile qim disconnect" ) ;
114
+ this . _socket . on ( 'disconnect' , ( data : any ) => {
115
+ console . log ( ' DBG Emile qim disconnect' ) ;
111
116
for ( let idm in _dfd ) {
112
117
_dfd [ idm ] . reject ( 'Call ' + idm + ' canceled: disconnected' ) ;
113
118
delete _dfd [ idm ] ;
114
119
}
115
-
120
+
116
121
if ( this . disconnected ) {
117
122
this . disconnected ( ) ;
118
123
console . log ( 'DBG Isabel disconnected' ) ;
119
124
}
120
125
} ) ;
121
126
122
-
123
-
124
-
125
127
this . service = this . createMetaCall ( 'ServiceDirectory' , 'service' , 'data' ) ;
126
- // let _self = this;
127
- _socket . on ( 'connect' , ( ) => {
128
- console . log ( "DBG Emile qim connect" ) ;
129
- // @ts -ignore
128
+
129
+ this . _socket . on ( 'connect' , ( ) => {
130
+ console . log ( 'DBG Emile qim connect' ) ;
130
131
if ( this . connected ) {
131
132
this . connected ( this ) ;
132
- console . log ( 'DBG Isabel already connected' ) ;
133
133
}
134
134
} ) ;
135
- console . log ( " DBG Emile qim done with init" ) ;
135
+ console . log ( ' DBG Emile qim done with init' ) ;
136
136
}
137
137
138
138
createMetaCall ( obj : any , member : any , data : any ) {
139
139
return ( ...serviceArgs : any [ ] ) => {
140
- let idm = ++ this . _idm ;
141
- let args = Array . prototype . slice . call ( serviceArgs , 0 ) ;
142
- let promise = new Promise ( ( resolve , reject ) => {
143
- this . _dfd [ idm ] = { resolve : resolve , reject : reject } ;
144
- } ) ;
145
- if ( args [ 0 ] == 'connect' ) {
146
- this . _dfd [ idm ] . __cbi = data ;
147
- }
140
+ let idm = ++ this . _idm ;
141
+ let args = Array . prototype . slice . call ( serviceArgs , 0 ) ;
142
+ let promise = new Promise ( ( resolve , reject ) => {
143
+ this . _dfd [ idm ] = { resolve : resolve , reject : reject } ;
144
+ } ) ;
145
+ if ( args [ 0 ] == 'connect' ) {
146
+ this . _dfd [ idm ] . __cbi = data ;
147
+ }
148
148
this . _socket . emit ( 'call' , {
149
149
idm : idm ,
150
150
params : { obj : obj , member : member , args : args } ,
@@ -164,23 +164,27 @@ export class QiSession {
164
164
} ) ( 'connect' ) ;
165
165
} ;
166
166
167
- signalObject . disconnect = ( l : any ) => {
168
- delete this . _sigs [ obj ] [ signal ] [ l ] ;
169
- return this . createMetaCall ( obj , signal , 'data' ) ( 'disconnect' , l ) ;
167
+ signalObject . disconnect = ( args : any ) => {
168
+ delete this . _sigs [ obj ] [ signal ] [ args ] ;
169
+ return this . createMetaCall ( obj , signal , 'data' ) ( 'disconnect' , args ) ;
170
170
} ;
171
+
171
172
if ( ! isProperty ) {
172
173
return signalObject ;
173
174
}
175
+
174
176
signalObject . setValue = ( ) => {
175
177
let args = Array . prototype . slice . call ( arguments , 0 ) ;
176
178
return this . createMetaCall ( obj , signal , 'data' ) . apply (
177
179
this ,
178
180
[ 'setValue' ] . concat ( args )
179
181
) ;
180
182
} ;
183
+
181
184
signalObject . value = ( ) => {
182
185
return this . createMetaCall ( obj , signal , 'data' ) ( 'value' ) ;
183
186
} ;
187
+
184
188
return signalObject ;
185
189
}
186
190
}
0 commit comments