diff --git a/src/lib/cli.h++ b/src/lib/cli.h++ deleted file mode 100644 index 25e79e7..0000000 --- a/src/lib/cli.h++ +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2022, FOSS-VG Developers and Contributers -// -// This program is free software: you can redistribute it and/or modify it -// under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, version 3. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// version 3 along with this program. -// If not, see https://www.gnu.org/licenses/agpl-3.0.en.html - -#pragma once - -#include -#include -#include - -#include "error.hpp" - -namespace CLI { - - struct Flag { - char shortName; - std::string longName; - // used for automatic usage generation - std::string description; - - bool present; - - Flag(); - Flag(char shortName, std::string longName, std::string description); - }; - - struct Option { - char shortName; - std::string longName; - // used for automatic usage generation - std::string description; - std::string placeholder; // the "COUNT" in "ping [-c ] " - - bool present; - std::string value; - - Option(); - Option(char shortName, std::string longName, std::string placeholder, std::string description); - }; - - struct Argument { - // used for automatic usage generation - std::string description; - std::string placeholder; // the "HOST" in "ping [-c ] " - - bool present; - std::string value; - - Argument(); - Argument(std::string placeholder, std::string description); - }; - - class ArgumentsParser { - private: - std::map flagsByShortName; - std::map flagsByLongName; - std::map optionsByShortName; - std::map optionsByLongName; - std::vector arguments; - std::string description; - std::string additionalInfo; - - public: - std::string programName; - bool wrongUsage; - std::vector wrongUsageMessages; - - // using int here bc that's how main() is defined - ArgumentsParser(int argc, const char* const argv[], std::vector flags, std::vector