#ifndef ACTIONMANAGER_H_ #define ACTIONMANAGER_H_ #include #include #include #include"Models/Flags.h" #include"Models/IcarusAction.h" namespace Managers { class ActionManager { public: ActionManager(char**, int); Models::IcarusAction retrieveIcarusAction() const; private: bool isNumber(std::string); void initialize(); void validateFlags(); std::vector parsedFlags(); void printAction(); void printFlags(); std::string action; std::array supportedActions{ "download", "upload", "retrieve", "delete" }; std::array supportedFlags{ "-u", "-p", "-t", "-h", "-s", "-sd", "-sr", "-d", "-D", "-b", "-rt" }; std::vector flags; char **params; int paramCount; }; } #endif