blob: f1c41a27bae022ce0f795180c53e3030a51173ef (
plain) (
blame)
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
|
using Gee;
using Nice;
using Xmpp;
namespace Dino.Plugins.Ice {
public class Plugin : RootInterface, Object {
public Dino.Application app;
public void registered(Dino.Application app) {
this.app = app;
app.stream_interactor.stream_attached_modules.connect((account, stream) => {
stream.get_module(Xmpp.Xep.Socks5Bytestreams.Module.IDENTITY).set_local_ip_address_handler(get_local_ip_addresses);
});
}
private Gee.List<string> get_local_ip_addresses() {
Gee.List<string> result = new ArrayList<string>();
foreach (string ip_address in Nice.interfaces_get_local_ips(false)) {
result.add(ip_address);
}
return result;
}
public void shutdown() {
// Nothing to do
}
}
}
|