#ifndef PARAMETERMANAGER_H #define PARAMETERMANAGER_H #include #include #include #include #include #include // PATH_MAX #include // readlink() #ifdef _WIN32 #include #endif enum Modus { EXIT = -1, DEFAULT_MODUS = 0, DIRECT_LINK_MODUS = 1, SEARCH_MODUS = 2, INFO_MODUS = 3 }; struct Settings { Settings() {} Settings(std::string name) : name(name) {} std::string name, accountFilePath = "/tmp/a", accountNumberPath= "/tmp/b", cookieFilePath = "/tmp/S_New4_cookies", serienListPath = "/tmp/SerienListe", proxy_ip = "127.0.0.1", languages = "GerDub,GerSub,Eng", genaueHoster = "Vivo,GoUnlimited", version = "2.2.1", outputFilePath = "", default_checkDirPath = "", default_Searchmuster = "S%Staffel%E%Folge%"; Modus modus = Modus::DEFAULT_MODUS; bool colorless = false, debugMode = false, search_IgnoreUpperLower = true, search_wantUpdate = false; int startEpisode = 1, stopEpisode = 0, startSeason = 1, stopSeason = 0, proxy_port = 9050, default_maxDirs = 20; char pathSymbol = '/'; unsigned maxThreads = 0; }; int manageParameter(Settings &settings, int argc, char ** argv); std::string getProgramName(); int compare(std::string All_Options_with_komma_between, std::string input); void setPaths(Settings &settings); bool dirExists(std::string dir); std::string getexepath(); void setPathSymbol(Settings &settings); int unterOption_help(); int unterOption_default(Settings * settings, int argc, char **argv); void unterOption_default_help(); int unterOption_url(Settings * settings, int argc, char **argv); void unterOption_url_help(); int unterOption_search(Settings * settings, int argc, char **argv); void unterOption_search_help(); int unterOption_info(Settings * settings, int argc, char **argv); void unterOption_info_help(); void unterOption_clean(Settings * settings, int argc, char **argv); #endif // PARAMETERMANAGER_H