diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-09-26 20:44:41 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-09-26 20:45:27 (GMT) |
commit | 4b61e7363dbc0e8bf595da06840db4175e3b86c3 (patch) | |
tree | d33f51dec98251cf581da4ced909d07ebb2ecd24 /Swiften/Network/NetworkEnvironment.cpp | |
parent | df957dbaaa42330ff888e42fe6f2d31c01d8129d (diff) | |
download | swift-contrib-4b61e7363dbc0e8bf595da06840db4175e3b86c3.zip swift-contrib-4b61e7363dbc0e8bf595da06840db4175e3b86c3.tar.bz2 |
Refactoring NetworkEnvironments.
Diffstat (limited to 'Swiften/Network/NetworkEnvironment.cpp')
-rw-r--r-- | Swiften/Network/NetworkEnvironment.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Swiften/Network/NetworkEnvironment.cpp b/Swiften/Network/NetworkEnvironment.cpp new file mode 100644 index 0000000..52ceb01 --- /dev/null +++ b/Swiften/Network/NetworkEnvironment.cpp @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2011 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <Swiften/Network/NetworkEnvironment.h> + +#include <Swiften/Network/NetworkInterface.h> +#include <Swiften/Network/HostAddress.h> +#include <Swiften/Base/foreach.h> + +namespace Swift { + +NetworkEnvironment::~NetworkEnvironment() { +} + +HostAddress NetworkEnvironment::getLocalAddress() const { + std::vector<NetworkInterface> networkInterfaces = getNetworkInterfaces(); + foreach (const NetworkInterface& iface, networkInterfaces) { + if (!iface.isLoopback()) { + foreach (const HostAddress& address, iface.getAddresses()) { + if (address.getRawAddress().is_v4()) { + return address; + } + } + } + } + return HostAddress(); +} + +} |