diff options
Diffstat (limited to 'server-tools/instance-manager/parse.cc')
-rw-r--r-- | server-tools/instance-manager/parse.cc | 65 |
1 files changed, 29 insertions, 36 deletions
diff --git a/server-tools/instance-manager/parse.cc b/server-tools/instance-manager/parse.cc index ed3bfd6bba0..d83af2b9cf0 100644 --- a/server-tools/instance-manager/parse.cc +++ b/server-tools/instance-manager/parse.cc @@ -15,7 +15,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "parse.h" -#include "factory.h" +#include "commands.h" #include <string.h> @@ -114,7 +114,7 @@ int get_text_id(const char **text, uint *word_len, const char **id) } -Command *parse_command(Command_factory *factory, const char *text) +Command *parse_command(Instance_map *map, const char *text) { uint word_len; const char *instance_name; @@ -147,10 +147,10 @@ Command *parse_command(Command_factory *factory, const char *text) if (word_len) goto syntax_error; - command= (tok1 == TOK_START) ? (Command *) - factory->new_Start_instance(instance_name, instance_name_len): - (Command *) - factory->new_Stop_instance(instance_name, instance_name_len); + if (tok1 == TOK_START) + command= new Start_instance(map, instance_name, instance_name_len); + else + command= new Stop_instance(map, instance_name, instance_name_len); break; case TOK_FLUSH: if (shift_token(&text, &word_len) != TOK_INSTANCES) @@ -160,7 +160,7 @@ Command *parse_command(Command_factory *factory, const char *text) if (word_len) goto syntax_error; - command= factory->new_Flush_instances(); + command= new Flush_instances(map); break; case TOK_UNSET: skip= true; @@ -201,13 +201,13 @@ Command *parse_command(Command_factory *factory, const char *text) goto syntax_error; if (skip) - command= factory->new_Unset_option(instance_name, instance_name_len, - option, option_len, option_value, - option_value_len); + command= new Unset_option(map, instance_name, instance_name_len, + option, option_len, option_value, + option_value_len); else - command= factory->new_Set_option(instance_name, instance_name_len, - option, option_len, option_value, - option_value_len); + command= new Set_option(map, instance_name, instance_name_len, + option, option_len, option_value, + option_value_len); break; case TOK_SHOW: switch (shift_token(&text, &word_len)) { @@ -215,7 +215,7 @@ Command *parse_command(Command_factory *factory, const char *text) get_word(&text, &word_len); if (word_len) goto syntax_error; - command= factory->new_Show_instances(); + command= new Show_instances(map); break; case TOK_INSTANCE: switch (Token tok2= shift_token(&text, &word_len)) { @@ -227,12 +227,12 @@ Command *parse_command(Command_factory *factory, const char *text) get_word(&text, &word_len); if (word_len) goto syntax_error; - command= (tok2 == TOK_STATUS) ? (Command *) - factory->new_Show_instance_status(instance_name, - instance_name_len): - (Command *) - factory->new_Show_instance_options(instance_name, - instance_name_len); + if (tok2 == TOK_STATUS) + command= new Show_instance_status(map, instance_name, + instance_name_len); + else + command= new Show_instance_options(map, instance_name, + instance_name_len); break; default: goto syntax_error; @@ -252,9 +252,8 @@ Command *parse_command(Command_factory *factory, const char *text) /* check that this is the end of the command */ if (word_len) goto syntax_error; - command= (Command *) - factory->new_Show_instance_log_files(instance_name, - instance_name_len); + command= new Show_instance_log_files(map, instance_name, + instance_name_len); break; case TOK_ERROR: case TOK_GENERAL: @@ -288,22 +287,16 @@ Command *parse_command(Command_factory *factory, const char *text) get_word(&text, &word_len); if (!word_len) goto syntax_error; - command= (Command *) - factory->new_Show_instance_log(instance_name, - instance_name_len, - log_type, - log_size, - text); + command= new Show_instance_log(map, instance_name, + instance_name_len, log_type, + log_size, text); //get_text_id(&text, &log_size_len, &log_size); break; case '\0': - command= (Command *) - factory->new_Show_instance_log(instance_name, - instance_name_len, - log_type, - log_size, - NULL); + command= new Show_instance_log(map, instance_name, + instance_name_len, log_type, + log_size, NULL); break; /* this is ok */ default: goto syntax_error; @@ -324,7 +317,7 @@ Command *parse_command(Command_factory *factory, const char *text) break; default: syntax_error: - command= factory->new_Syntax_error(); + command= new Syntax_error(); } return command; } |