11 #include <boost/foreach.hpp> 25 struct termios t_old, t_new;
27 tcgetattr(STDIN_FILENO, &t_old);
29 t_new.c_lflag &= ~(ICANON | ECHO);
30 tcsetattr(STDIN_FILENO, TCSANOW, &t_new);
34 tcsetattr(STDIN_FILENO, TCSANOW, &t_old);
39 const char BACKSPACE=127;
47 while((ch=
getch())!=RETURN){
49 if(password.length()!=0){
51 password.resize(password.length()-1);
76 std::string positionalParameter):m_name(commandName),
78 std::
string(
" [options] ")+positionalParameter
80 m_positionalOptions(),
83 (
"debug",
"switch on debug mode")
84 (
"help,h",
"help message")
86 if(!positionalParameter.empty()) {
88 addOption<std::string>(positionalParameter,
"",positionalParameter);
104 std::vector<edm::ParameterSet> psets;
107 psets.push_back(pSet);
135 addOption<std::string>(connectionOptionName,shortName,helpEntry);
140 addOption<std::string>(
"authPath",
"P",
"path to the authentication key");
141 addOption<std::string>(
"user",
"u",
"user name");
142 addOption<std::string>(
"pass",
"p",
"password");
147 addOption<std::string>(
"configFile",
"f",
"configuration file(optional)");
152 if(
m_options.find_nothrow(
"configFile",
false)){
154 if (! configFileName.empty()){
155 std::fstream configFile;
157 boost::program_options::store(boost::program_options::parse_config_file(configFile,
m_options),
m_values);
161 boost::program_options::notify(
m_values);
165 return getOptionValue<std::string>(
"authPath");
169 return getOptionValue<std::string>(
"user");
173 return getOptionValue<std::string>(
"pass");
177 return getOptionValue<std::string>(
"connect");
181 return getOptionValue<std::string>(
"logDB");
185 return getOptionValue<std::string>(
"dictionary");
189 return getOptionValue<std::string>(
"configFile");
196 std::stringstream message;
197 message <<
"Utilities::hasOptionValue: option \"" << fullName <<
"\" is not known by the command.";
persistency::Exception Exception
std::string getUserValue()
void parseCommand(int argc, char **argv)
int run(int argc, char **argv)
Base exception class for the object to relational access.
static PluginManager & configure(const Config &)
std::string getValueIfExists(const std::string &fullName)
UtilitiesError(const std::string &message)
char const * what() const override
std::string getPasswordValue()
edm::ServiceToken * m_currentToken
std::string getDictionaryValue()
std::string getConfigFileValue()
void addConnectOption(std::string const &fullName, std::string const &shortName, std::string const &helpEntry)
std::string getAuthenticationPathValue()
PluginManager::Config config()
std::string getpassForUser(const std::string &userName)
void addAuthenticationOptions()
void addParameter(std::string const &name, T const &value)
void addConfigFileOption()
static ServiceToken createSet(std::vector< ParameterSet > &)
std::string getConnectValue()
void initializePluginManager()
Utilities(const std::string &commandName, std::string positionalParameter=std::string(""))
std::string getLogDBValue()
boost::program_options::variables_map m_values
bool hasOptionValue(const std::string &fullName)
void sendError(const std::string &message)
~UtilitiesError() override
void sendException(const std::string &message)
std::string getpass(const std::string &prompt, bool show_asterisk=true)
boost::program_options::options_description m_options
boost::program_options::positional_options_description m_positionalOptions
def operate(timelog, memlog, json_f, num)