summaryrefslogtreecommitdiffstats
path: root/src/Core/ConnectionManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Core/ConnectionManager.cpp')
-rw-r--r--src/Core/ConnectionManager.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Core/ConnectionManager.cpp b/src/Core/ConnectionManager.cpp
index 72bf07f..9cbda90 100644
--- a/src/Core/ConnectionManager.cpp
+++ b/src/Core/ConnectionManager.cpp
@@ -20,6 +20,7 @@
#include "ConnectionManager.h"
#include "ConfigManager.h"
#include "RequestHandlers/CoreStatusRequestHandler.h"
+#include "RequestHandlers/DaemonListRequestHandler.h"
#include "RequestHandlers/DaemonStatusRequestHandler.h"
#include "RequestHandlers/GSSAPIAuthRequestHandler.h"
#include "RequestHandlers/IdentifyRequestHandler.h"
@@ -66,6 +67,7 @@ ConnectionManager::ConnectionManager() {
Common::RequestManager::init(true);
Common::RequestManager::getRequestManager()->registerPacketType<RequestHandlers::CoreStatusRequestHandler>(Net::Packet::CORE_STATUS);
+ Common::RequestManager::getRequestManager()->registerPacketType<RequestHandlers::DaemonListRequestHandler>(Net::Packet::LIST_DAEMONS);
Common::RequestManager::getRequestManager()->registerPacketType<RequestHandlers::DaemonStatusRequestHandler>(Net::Packet::DAEMON_STATUS);
Common::RequestManager::getRequestManager()->registerPacketType<RequestHandlers::GSSAPIAuthRequestHandler>(Net::Packet::GSSAPI_AUTH);
Common::RequestManager::getRequestManager()->registerPacketType<RequestHandlers::IdentifyRequestHandler>(Net::Packet::IDENTIFY);
@@ -199,5 +201,16 @@ void ConnectionManager::identifyDaemonConnection(Net::Connection *connection, co
std::cerr << "Identified as '" << name << "'." << std::endl;
}
+std::map<std::string,DaemonInfo> ConnectionManager::getDaemonList() const {
+ std::map<std::string,DaemonInfo> ret;
+
+ for(std::map<std::string,Net::ServerConnection*>::const_iterator con = identifiedDaemonConnections.begin(); con != identifiedDaemonConnections.end(); ++con) {
+ if(con->second)
+ ret.insert(std::make_pair(con->first, daemonInfo.at(con->first)));
+ }
+
+ return ret;
+}
+
}
}