Show users in spectrum_manager status command
This commit is contained in:
parent
a1d5543db0
commit
091411eea4
4 changed files with 19 additions and 5 deletions
|
@ -28,10 +28,12 @@ namespace Transport {
|
|||
|
||||
class Component;
|
||||
class StorageBackend;
|
||||
class UserManager;
|
||||
class NetworkPluginServer;
|
||||
|
||||
class AdminInterface {
|
||||
public:
|
||||
AdminInterface(Component *component, StorageBackend *storageBackend = NULL);
|
||||
AdminInterface(Component *component, UserManager *userManager, NetworkPluginServer *server = NULL, StorageBackend *storageBackend = NULL);
|
||||
|
||||
~AdminInterface();
|
||||
|
||||
|
@ -40,6 +42,8 @@ class AdminInterface {
|
|||
|
||||
Component *m_component;
|
||||
StorageBackend *m_storageBackend;
|
||||
UserManager *m_userManager;
|
||||
NetworkPluginServer *m_server;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -53,6 +53,10 @@ class NetworkPluginServer {
|
|||
|
||||
virtual ~NetworkPluginServer();
|
||||
|
||||
int getBackendCount() {
|
||||
return m_clients.size();
|
||||
}
|
||||
|
||||
void handleMessageReceived(NetworkConversation *conv, boost::shared_ptr<Swift::Message> &message);
|
||||
|
||||
private:
|
||||
|
|
|
@ -73,9 +73,9 @@ int main(int argc, char **argv)
|
|||
}
|
||||
logger.setUserManager(&userManager);
|
||||
|
||||
AdminInterface adminInterface(&transport, storageBackend);
|
||||
|
||||
NetworkPluginServer plugin(&transport, &config, &userManager);
|
||||
|
||||
AdminInterface adminInterface(&transport, &userManager, &plugin, storageBackend);
|
||||
|
||||
eventLoop.run();
|
||||
}
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include "transport/storagebackend.h"
|
||||
#include "transport/conversationmanager.h"
|
||||
#include "transport/rostermanager.h"
|
||||
#include "transport/usermanager.h"
|
||||
#include "transport/networkpluginserver.h"
|
||||
#include "storageresponder.h"
|
||||
#include "log4cxx/logger.h"
|
||||
|
||||
|
@ -33,9 +35,11 @@ namespace Transport {
|
|||
|
||||
static LoggerPtr logger = Logger::getLogger("AdminInterface");
|
||||
|
||||
AdminInterface::AdminInterface(Component *component, StorageBackend *storageBackend) {
|
||||
AdminInterface::AdminInterface(Component *component, UserManager *userManager, NetworkPluginServer *server, StorageBackend *storageBackend) {
|
||||
m_component = component;
|
||||
m_storageBackend = storageBackend;
|
||||
m_userManager = userManager;
|
||||
m_server = server;
|
||||
|
||||
m_component->getStanzaChannel()->onMessageReceived.connect(bind(&AdminInterface::handleMessageReceived, this, _1));
|
||||
}
|
||||
|
@ -57,7 +61,9 @@ void AdminInterface::handleMessageReceived(Swift::Message::ref message) {
|
|||
message->setFrom(m_component->getJID());
|
||||
|
||||
if (message->getBody() == "status") {
|
||||
message->setBody("Running");
|
||||
int users = m_userManager->getUserCount();
|
||||
int backends = m_server->getBackendCount() - 1;
|
||||
message->setBody("Running (" + boost::lexical_cast<std::string>(users) + " users connected using " + boost::lexical_cast<std::string>(backends) + " backends)");
|
||||
}
|
||||
else {
|
||||
message->setBody("Unknown command");
|
||||
|
|
Loading…
Add table
Reference in a new issue