46 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); |
46 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); |
47 } |
47 } |
48 |
48 |
49 public: |
49 public: |
50 |
50 |
51 static const relpipe::common::type::StringX OPTION_LIST_XXX; |
51 static const relpipe::common::type::StringX OPTION_LIST_POLYGON_POINTS; |
52 static const relpipe::common::type::StringX OPTION_LIST_ZZZ; |
52 static const relpipe::common::type::StringX OPTION_LIST_ZZZ; |
53 |
53 |
54 Configuration parse(const std::vector<relpipe::common::type::StringX>& arguments) { |
54 Configuration parse(const std::vector<relpipe::common::type::StringX>& arguments) { |
55 Configuration c; |
55 Configuration c; |
56 |
56 |
57 for (int i = 0; i < arguments.size();) { |
57 for (int i = 0; i < arguments.size();) { |
58 relpipe::common::type::StringX option = readNext(arguments, i); |
58 relpipe::common::type::StringX option = readNext(arguments, i); |
59 |
59 |
60 if (option == OPTION_LIST_XXX) { |
60 if (option == OPTION_LIST_POLYGON_POINTS) { |
61 c.listXXX = parseBoolean(readNext(arguments, i)); |
61 c.listPolygonPoints = parseBoolean(readNext(arguments, i)); |
62 } else if (option == OPTION_LIST_ZZZ) { |
|
63 c.listZZZ = parseBoolean(readNext(arguments, i)); |
|
64 } else throw relpipe::cli::RelpipeCLIException(L"Unsupported CLI option: " + option, relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS); |
62 } else throw relpipe::cli::RelpipeCLIException(L"Unsupported CLI option: " + option, relpipe::cli::CLI::EXIT_CODE_BAD_CLI_ARGUMENTS); |
65 } |
63 } |
66 |
64 |
67 return c; |
65 return c; |
68 } |
66 } |
69 |
67 |
70 virtual ~CLIParser() { |
68 virtual ~CLIParser() { |
71 } |
69 } |
72 }; |
70 }; |
73 |
71 |
74 const relpipe::common::type::StringX CLIParser::OPTION_LIST_XXX = L"--list-xxx"; |
72 const relpipe::common::type::StringX CLIParser::OPTION_LIST_POLYGON_POINTS = L"--list-polygon-points"; |
75 const relpipe::common::type::StringX CLIParser::OPTION_LIST_ZZZ = L"--list-zzz"; |
|
76 |
73 |
77 } |
74 } |
78 } |
75 } |
79 } |
76 } |