Defining the type HostList as a vector of HostItem
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@intra2net.com>
Mon, 2 May 2011 15:56:16 +0000 (17:56 +0200)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@intra2net.com>
Mon, 2 May 2011 15:56:16 +0000 (17:56 +0200)
- provides a central point to change the container type
- makes the code more readable
- reduces the amount of code to read

src/config/configuration.cpp
src/config/configuration.h
src/config/configurationreader.cpp
src/config/host.h

index b7f7c5e..353a73d 100644 (file)
@@ -123,12 +123,12 @@ void Configuration::set_link_up_interval_in_min( const int link_up_interval_in_m
     LinkUpIntervalInMin = link_up_interval_in_min;
 }
 
-vector< HostItem > Configuration::get_hosts() const
+HostList Configuration::get_hosts() const
 {
     return Hosts;
 }
 
-void Configuration::set_hosts( const vector< HostItem > &hosts_list )
+void Configuration::set_hosts( const HostList &hosts_list )
 {
     this->Hosts = hosts_list;
 }
index 4af5c32..b152aa2 100644 (file)
@@ -6,6 +6,8 @@
 #include <string>
 #include <vector>
 
+#include <boost/shared_ptr.hpp>
+
 #include "config/host.h"
 
 //-----------------------------------------------------------------------------
@@ -44,8 +46,8 @@ public:
     int get_link_up_interval_in_min() const;
     void set_link_up_interval_in_min( const int link_up_interval_in_min );
 
-    std::vector<HostItem> get_hosts() const;
-    void set_hosts( const std::vector<HostItem> &hosts_list );
+    HostList get_hosts() const;
+    void set_hosts( const HostList &hosts_list );
 
 private:
     bool Daemon;
@@ -53,17 +55,23 @@ private:
     std::string SourceNetworkInterface;
     std::string NameServer;
     int HostsDownLimit;
-    const int MinHostsDownLimit;
-    const int MaxHostsDownLimit;
+    int MinHostsDownLimit;
+    int MaxHostsDownLimit;
     int PingFailLimit;
-    const int MinPingFailLimit;
-    const int MaxPingFailLimit;
+    int MinPingFailLimit;
+    int MaxPingFailLimit;
     std::string StatusNotifierCmd;
     int LinkUpIntervalInMin;
-    const int MinStableLinkIntervalInMin;
-    const int MaxStableLinkIntervalInMin;
-    std::vector<HostItem> Hosts;
+    int MinStableLinkIntervalInMin;
+    int MaxStableLinkIntervalInMin;
+    HostList Hosts;
 
 };
 
+//-----------------------------------------------------------------------------
+// ConfigurationItem
+//-----------------------------------------------------------------------------
+
+typedef boost::shared_ptr<Configuration> ConfigurationItem;
+
 #endif /* CONFIGURATION_H */
index f4a7416..49d83b9 100644 (file)
@@ -249,7 +249,7 @@ bool ConfigurationReader::parse_configuration_options( const variables_map &vm )
     size_t hosts_names_count = 0;
     if ( vm.count( HostNameCmdStr ) > 0 )
     {
-        vector<HostItem> hosts_list;
+        HostList hosts_list;
 
         vector<string> hosts_names = vm[ HostNameCmdStr ].as< vector<string> > ();
         BOOST_FOREACH( string host_name, hosts_names )
@@ -272,8 +272,8 @@ bool ConfigurationReader::parse_configuration_options( const variables_map &vm )
     size_t hosts_interval_count = 0;
     if ( vm.count( HostIntervalCmdStr ) > 0 )
     {
-        vector<HostItem> hosts_list = Config.get_hosts();
-        vector<HostItem>::iterator hosts_it = hosts_list.begin();
+        HostList hosts_list = Config.get_hosts();
+        HostList::iterator hosts_it = hosts_list.begin();
 
         vector<int> hosts_intervals = vm[ HostIntervalCmdStr ].as< vector<int> > ();
         BOOST_FOREACH( int host_interval_in_sec, hosts_intervals )
index c6f7ff7..02d292f 100644 (file)
@@ -48,4 +48,10 @@ private:
 
 typedef boost::shared_ptr<Host> HostItem;
 
+//-----------------------------------------------------------------------------
+// HostList
+//-----------------------------------------------------------------------------
+
+typedef std::vector< HostItem > HostList;
+
 #endif /* HOST_H */