src/CLIParser.h
branchv_0
changeset 1 291bdd97fcff
parent 0 e8205d9206fb
child 2 1eef3d465863
--- a/src/CLIParser.h	Sat Feb 26 01:21:14 2022 +0100
+++ b/src/CLIParser.h	Tue Mar 01 00:47:49 2022 +0100
@@ -37,38 +37,11 @@
 		else throw relpipe::cli::RelpipeCLIException(L"Missing CLI argument" + (i > 0 ? (L" after " + arguments[i - 1]) : L""), relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS);
 	}
 
-	/**
-	 * TODO: use a common method
-	 */
-	bool parseBoolean(const relpipe::writer::string_t& value) {
-		if (value == L"true") return true;
-		else if (value == L"false") return false;
-		else throw relpipe::cli::RelpipeCLIException(L"Unable to parse boolean value: " + value + L" (expecting true or false)", relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS);
-	}
-
-	/**
-	 * TODO: use a common method
-	 */
-	relpipe::writer::TypeId parseTypeId(const relpipe::writer::string_t& value) {
-		using t = relpipe::writer::TypeId;
-		if (value == L"string") return t::STRING;
-		else if (value == L"integer") return t::INTEGER;
-		else if (value == L"boolean") return t::BOOLEAN;
-		else throw relpipe::cli::RelpipeCLIException(L"Unable to parse TypeId: " + value, relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS);
-	}
-
-	Configuration::ReadTypes parseReadTypes(const relpipe::writer::string_t& value) {
-		if (value == L"auto") return Configuration::ReadTypes::AUTO;
-		else if (value == L"true") return Configuration::ReadTypes::TRUE;
-		else if (value == L"false") return Configuration::ReadTypes::FALSE;
-		else throw relpipe::cli::RelpipeCLIException(L"Unable to parse ReadTypes: " + value, relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS);
-	}
-
 public:
 
 	static const relpipe::writer::string_t OPTION_RELATION;
-	static const relpipe::writer::string_t OPTION_ATTRIBUTE;
-	static const relpipe::writer::string_t OPTION_READ_TYPES;
+	static const relpipe::writer::string_t OPTION_QUEUE;
+	static const relpipe::writer::string_t OPTION_MESSAGE_COUNT;
 
 	Configuration parse(const std::vector<relpipe::writer::string_t>& arguments) {
 		Configuration c;
@@ -78,13 +51,10 @@
 
 			if (option == OPTION_RELATION) {
 				c.relation = readNext(arguments, i);
-			} else if (option == OPTION_ATTRIBUTE) {
-				AttributeRecipe attribute;
-				attribute.name = readNext(arguments, i);
-				attribute.type = parseTypeId(readNext(arguments, i));
-				c.attributes.push_back(attribute);
-			} else if (option == OPTION_READ_TYPES) {
-				c.readTypes = parseReadTypes(readNext(arguments, i));
+			} else if (option == OPTION_QUEUE) {
+				c.queue = readNext(arguments, i);
+			} else if (option == OPTION_MESSAGE_COUNT) {
+				c.messageCount = std::stoull(readNext(arguments, i));
 			} else throw relpipe::cli::RelpipeCLIException(L"Unsupported CLI option: " + option, relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS);
 		}
 
@@ -96,8 +66,8 @@
 };
 
 const relpipe::writer::string_t CLIParser::OPTION_RELATION = L"--relation";
-const relpipe::writer::string_t CLIParser::OPTION_ATTRIBUTE = L"--attribute";
-const relpipe::writer::string_t CLIParser::OPTION_READ_TYPES = L"--read-types";
+const relpipe::writer::string_t CLIParser::OPTION_QUEUE = L"--queue";
+const relpipe::writer::string_t CLIParser::OPTION_MESSAGE_COUNT = L"--message-count";
 
 }
 }