NetworkHelper
class
NetworkHelper:
MTContextChangeListener
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
31
32
33
34
35
private let requestPublicKeys: (Int) -> Signal<NSArray, NoError>
private let isContextNetworkAccessAllowedImpl: () -> Signal<Bool, NoError>
private let contextProxyIdUpdated: (NetworkContextProxyId?) -> Void
func fetchContextDatacenterPublicKeys(_ context: MTContext!, datacenterId: Int) -> MTSignal! {
return MTSignal { subscriber in
let disposable = self.requestPublicKeys(datacenterId).start(next: { next in
subscriber?.putNext(next)
subscriber?.putCompletion()
})
return MTBlockDisposable(block: {
disposable.dispose()
})
}
}
func isContextNetworkAccessAllowed(_ context: MTContext!) -> MTSignal! {
return MTSignal { subscriber in
let disposable = self.isContextNetworkAccessAllowedImpl().start(next: { next in
subscriber?.putNext(next as NSNumber)
subscriber?.putCompletion()
})
return MTBlockDisposable(block: {
disposable.dispose()
})
}
}
func contextApiEnvironmentUpdated(_ context: MTContext!, apiEnvironment: MTApiEnvironment!) {
let settings: MTSocksProxySettings? = apiEnvironment.socksProxySettings
self.contextProxyIdUpdated(settings.flatMap(NetworkContextProxyId.init(settings:)))
}