*/
+#include <config.h>
#include <libtest/common.h>
#include <libtest/gearmand.h>
private:
public:
Gearmand(const std::string& host_arg, in_port_t port_arg) :
- libtest::Server(host_arg, port_arg)
+ libtest::Server(host_arg, port_arg, GEARMAND_BINARY, true)
{
set_pid_file();
}
return "gearmand";
};
- const char *executable()
+ void log_file_option(Application& app, const std::string& arg)
{
- return GEARMAND_BINARY;
- }
-
- const char *pid_file_option()
- {
- return "--pid-file=";
- }
-
- const char *daemon_file_option()
- {
- return "--daemon";
+ if (arg.empty() == false)
+ {
+ std::string buffer("--log-file=");
+ buffer+= arg;
+ app.add_option("--verbose=DEBUG");
+ app.add_option(buffer);
+ }
}
- const char *log_file_option()
+ bool has_log_file_option() const
{
- return "--verbose=DEBUG --log-file=";
+ return true;
}
- const char *port_option()
+ bool is_libtool()
{
- return "--port=";
+ return true;
}
- bool is_libtool()
+ bool has_syslog() const
{
return true;
}
- bool has_syslog() const
+ bool has_port_option() const
{
return true;
}
- bool build(int argc, const char *argv[]);
+ bool build(size_t argc, const char *argv[]);
};
-bool Gearmand::build(int argc, const char *argv[])
+bool Gearmand::build(size_t argc, const char *argv[])
{
std::stringstream arg_buffer;
if (getuid() == 0 or geteuid() == 0)
{
- arg_buffer << " -u root ";
+ add_option("-u", "root");
}
- arg_buffer << " --listen=localhost ";
+ add_option("--listen=localhost");
- for (int x= 1 ; x < argc ; x++)
+ for (size_t x= 0 ; x < argc ; x++)
{
- arg_buffer << " " << argv[x] << " ";
+ add_option(argv[x]);
}
- set_extra_args(arg_buffer.str());
-
return true;
}