blob: 6395758a921a6d358bd2a536fe785609b7f6eab3 (
plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
#pragma once
#include <vector>
#include <Swiften/Network/HostAddress.h>
namespace Swift {
class NetworkInterface {
public:
enum Type {
Unknown,
WLAN,
Ethernet,
Mobile,
VPN,
};
public:
NetworkInterface(const std::string& name, bool loopback, Type type = Unknown) : name(name), loopback(loopback), type(type) {
}
void addAddress(const HostAddress& address) {
addresses.push_back(address);
}
const std::vector<HostAddress>& getAddresses() const {
return addresses;
}
const std::string& getName() const {
return name;
}
bool isLoopback() const {
return loopback;
}
private:
std::string name;
bool loopback;
Type type;
std::vector<HostAddress> addresses;
};
}
|