diff --git a/src/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index b88c4ef2be37..3f0f7950547f 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -277,7 +277,8 @@ void server::run() while((sock = network::receive_data(data, 0)) != network::null_connection) { - BOOST_FOREACH(const request_handler_info& rh, handlers_) + typedef std::pair rh_table_entry; + BOOST_FOREACH(const rh_table_entry& rh, handlers_) { const config& req_body = data.child(rh.first); @@ -320,7 +321,7 @@ void server::run() void server::register_handler(const std::string& cmd, const request_handler& func) { - handlers_.push_back(std::make_pair(cmd, func)); + handlers_[cmd] = func; } #define REGISTER_CAMPAIGND_HANDLER(req_id) \ diff --git a/src/campaign_server/campaign_server.hpp b/src/campaign_server/campaign_server.hpp index 26afa2d99b13..597cac67bdbe 100644 --- a/src/campaign_server/campaign_server.hpp +++ b/src/campaign_server/campaign_server.hpp @@ -79,7 +79,6 @@ class server : private boost::noncopyable }; typedef boost::function request_handler; - typedef std::pair request_handler_info; config cfg_; const std::string cfg_file_; @@ -90,7 +89,7 @@ class server : private boost::noncopyable boost::scoped_ptr input_; /**< Server control socket. */ std::map hooks_; - std::vector handlers_; + std::map handlers_; std::string feedback_url_format_;