From 2bf8720fd6c4a9192099398cf8d1e0341391ca47 Mon Sep 17 00:00:00 2001 From: Guilherme Maciel Ferreira Date: Tue, 12 Apr 2011 16:35:02 +0200 Subject: [PATCH] Only the "using namespace std" is allowed, classes from other namespaces are included via "using" - avoid conflicts with the boost DNS library classes --- src/config/configurationreader.cpp | 8 ++++++-- src/dns/dnsresolver.cpp | 4 ++-- src/host/boostpinger.cpp | 12 ++++++++---- src/host/hoststatusanalyzer.cpp | 2 +- src/host/pingscheduler.cpp | 24 +++++++++++++++--------- src/host/pingscheduler.h | 4 ++-- src/icmp/ipv4header.cpp | 2 +- src/link/linkstatusanalyzer.cpp | 3 ++- src/main.cpp | 4 ++-- 9 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/config/configurationreader.cpp b/src/config/configurationreader.cpp index d4c855c..c9f4a06 100644 --- a/src/config/configurationreader.cpp +++ b/src/config/configurationreader.cpp @@ -7,8 +7,12 @@ #include using namespace std; -using namespace boost; -using namespace boost::program_options; +using boost::program_options::command_line_parser; +using boost::program_options::options_description; +using boost::program_options::parsed_options; +using boost::program_options::positional_options_description; +using boost::program_options::value; +using boost::program_options::variables_map; //----------------------------------------------------------------------------- // ConfigurationReader diff --git a/src/dns/dnsresolver.cpp b/src/dns/dnsresolver.cpp index e8d7d73..764ed95 100644 --- a/src/dns/dnsresolver.cpp +++ b/src/dns/dnsresolver.cpp @@ -7,8 +7,8 @@ #include "dns/hostaddress.h" using namespace std; -using namespace boost::asio; -using namespace boost::asio::ip; +using boost::asio::io_service; +using boost::asio::ip::tcp; //----------------------------------------------------------------------------- // DnsResolver diff --git a/src/host/boostpinger.cpp b/src/host/boostpinger.cpp index 2d35a98..c8fcb1f 100644 --- a/src/host/boostpinger.cpp +++ b/src/host/boostpinger.cpp @@ -14,9 +14,13 @@ #include "icmp/ipv4header.h" using namespace std; -using namespace boost::asio; -using namespace boost::asio::ip; -using namespace boost::posix_time; +using boost::asio::const_buffers_1; +using boost::asio::io_service; +using boost::asio::ip::address; +using boost::asio::ip::icmp; +using boost::posix_time::microsec_clock; +using boost::posix_time::ptime; +using boost::posix_time::seconds; //----------------------------------------------------------------------------- // BoostPinger @@ -68,7 +72,7 @@ bool BoostPinger::ping( const string &destination_ip ) BOOST_ASSERT( !destination_ip.empty() ); uint16_t port = 0; - address destination_address = ip::address::from_string( destination_ip ); + address destination_address = address::from_string( destination_ip ); icmp::endpoint destination_endpoint( destination_address, port ); DestinationEndpoint = destination_endpoint; diff --git a/src/host/hoststatusanalyzer.cpp b/src/host/hoststatusanalyzer.cpp index 860df20..5263d64 100644 --- a/src/host/hoststatusanalyzer.cpp +++ b/src/host/hoststatusanalyzer.cpp @@ -5,7 +5,7 @@ #include using namespace std; -using namespace boost; +using boost::shared_ptr; //----------------------------------------------------------------------------- // HostStatusAnalyzer diff --git a/src/host/pingscheduler.cpp b/src/host/pingscheduler.cpp index 2b972d4..4405097 100644 --- a/src/host/pingscheduler.cpp +++ b/src/host/pingscheduler.cpp @@ -9,30 +9,33 @@ #include "host/boostpinger.h" using namespace std; -using namespace boost; -using namespace boost::asio; -using namespace boost::posix_time; +using boost::asio::io_service; +using boost::bind; +using boost::posix_time::microsec_clock; +using boost::posix_time::ptime; +using boost::posix_time::seconds; +using boost::shared_ptr; //----------------------------------------------------------------------------- // PingScheduler //----------------------------------------------------------------------------- PingScheduler::PingScheduler( - boost::asio::io_service &io_serv, - const string &ping_interface, - const string &ping_address, + io_service &io_serv, + const string &network_interface, + const string &destination_address, const long ping_interval_in_sec, const int ping_fail_percentage_limit, shared_ptr link_analyzer ) : IoService( io_serv ), - LocalNetworkInterfaceName( ping_interface ), + LocalNetworkInterfaceName( network_interface ), NextPingTimer( io_serv ), TimeSentLastPing( microsec_clock::universal_time() ), PingIntervalInSec( ping_interval_in_sec ), - IpList( ping_address ), - HostAnalyzer( ping_address, ping_fail_percentage_limit, link_analyzer ) + IpList( destination_address ), + HostAnalyzer( destination_address, ping_fail_percentage_limit, link_analyzer ) { } @@ -42,6 +45,9 @@ PingScheduler::~PingScheduler() bool PingScheduler::start_pinging() { + // TODO the DNS resolution is called only once. Find a way to resolve when + // the TTL ends + // TODO does the DNS keeps the same number of IPs? bool address_resolved = resolve_ping_address(); if ( !address_resolved ) { diff --git a/src/host/pingscheduler.h b/src/host/pingscheduler.h index 776a3c9..7f6f90b 100644 --- a/src/host/pingscheduler.h +++ b/src/host/pingscheduler.h @@ -25,8 +25,8 @@ class PingScheduler public: PingScheduler( boost::asio::io_service &io_serv, - const std::string &ping_interface, - const std::string &ping_address, + const std::string &network_interface, + const std::string &destination_address, const long ping_interval_in_sec, const int ping_fail_percentage_limit, boost::shared_ptr link_analyzer diff --git a/src/icmp/ipv4header.cpp b/src/icmp/ipv4header.cpp index 122edaf..1e9ddf4 100644 --- a/src/icmp/ipv4header.cpp +++ b/src/icmp/ipv4header.cpp @@ -1,7 +1,7 @@ #include "icmp/ipv4header.h" using namespace std; -using namespace boost::asio::ip; +using boost::asio::ip::address_v4; //----------------------------------------------------------------------------- // Ipv4Header diff --git a/src/link/linkstatusanalyzer.cpp b/src/link/linkstatusanalyzer.cpp index 0dcb3a7..8b3ee8c 100644 --- a/src/link/linkstatusanalyzer.cpp +++ b/src/link/linkstatusanalyzer.cpp @@ -5,7 +5,8 @@ #include using namespace std; -using namespace boost::posix_time; +using boost::posix_time::microsec_clock; +using boost::posix_time::ptime; //----------------------------------------------------------------------------- // LinkStatusAnalyzer diff --git a/src/main.cpp b/src/main.cpp index 37b0299..40fc89b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,8 +11,8 @@ #include "host/pingscheduler.h" using namespace std; -using namespace boost; -using namespace boost::asio; +using boost::asio::io_service; +using boost::shared_ptr; int main( int argc, char* argv[] ) { -- 1.7.1