00001 #include "headers.h"
00002
00003 const string AdvancedConfigurationCommand::commandString = "advancedConfiguration";
00004 const static string setCppCommandString = Config::CPP_TAG;
00005 const static string setDrpCommandString = Config::DRP_TAG;
00006 const static string setDppCommandString = Config::DPP_TAG;
00007 const static string setMaxConnectionsCommandString = Config::MAX_CONNECTIONS_TAG;
00008
00009
00010 string
00011 AdvancedConfigurationCommand::getCommandString() {
00012 return commandString;
00013 }
00014
00015
00016 void
00017 AdvancedConfigurationCommand::getHtmlInterface(std::ostream& s) {
00018 UserConfiguration::pageHeading(s);
00019
00020 s << "<h2>Advanced Configuration</h2>\n\n";
00021
00022 s << "Do not change the values on this screen unless you know what you are doing.\n\n";
00023
00024 Config* config = GlobalObjects::instance()->getConfig();
00025 stringstream cpp;
00026 cpp << config->getConnectPropagationProbability();
00027 generateHtmlSubcmdArg1(s, setCppCommandString, "Set connection propagation probability: ", "Set", cpp.str());
00028
00029 stringstream drp;
00030 drp << config->getDiscoveryResponseProbability();
00031 generateHtmlSubcmdArg1(s, setDrpCommandString, "Set discovery response probability: ", "Set", drp.str());
00032
00033 stringstream dpp;
00034 dpp << config->getDiscoveryPropagationProbability();
00035 generateHtmlSubcmdArg1(s, setDppCommandString, "Set discovery propagation probability: ", "Set", dpp.str());
00036
00037 stringstream maxConnections;
00038 maxConnections << config->getMaxConnections();
00039 generateHtmlSubcmdArg1(s, setMaxConnectionsCommandString, "Set maximum number of connections: ", "Set", maxConnections.str());
00040
00041 }
00042
00043
00044 void
00045 AdvancedConfigurationCommand::run(std::ostream& s) {
00046 if (m_args[1].empty()) {
00047 getHtmlInterface(s);
00048 return;
00049 }
00050
00051 if (!GlobalObjects::instance()->getConfig()->set(m_args[1], m_args[2])) {
00052 getHelp(s);
00053 return;
00054 }
00055
00056 s << "Variable set successfully.";
00057 }
00058
00059
00060 void
00061 AdvancedConfigurationCommand::getHelp(ostream& out) {
00062 out << "help";
00063 }
00064
00065
00066
00067