diff --git a/parameterManager.cpp b/parameterManager.cpp index 875fd3b..7feacc0 100644 --- a/parameterManager.cpp +++ b/parameterManager.cpp @@ -24,6 +24,8 @@ int manageParameter(Settings &settings, int argc, char **argv) //Path settings setPathSymbol(settings); setPaths(settings); + if(loadDefaulOptions(settings) != 0) + return 28; if(argc < 2) { std::cout << " => Error: Keine Unteroption angegeben." << std::endl; @@ -76,6 +78,11 @@ int manageParameter(Settings &settings, int argc, char **argv) } } +int loadDefaulOptions(Settings &settings) +{ + +} + int unterOption_help() { std::cout << "Aufruf: " << getProgramName() << " [Unteroption] [PARAMETER]" << std::endl << std::endl; @@ -579,31 +586,6 @@ void unterOption_search_help() } -int compare(std::string All_Options_with_komma_between, std::string input) -{ - std::istringstream iStrStream( All_Options_with_komma_between + "\n"); - std::string line; - int allFounds = 0; - while (getline(iStrStream, line).good()) - if(strncmp(line.c_str(), input.c_str(), input.length()) == 0) { - allFounds++; - //std::cout << "Unteroption '" << input << "' stimmt mit '" << line << "' überein." << std::endl; - } - return allFounds; -} - -bool dirExists(std::string dir) -{ - struct stat sb; - return (stat(dir.c_str(), &sb) == 0 && S_ISDIR(sb.st_mode)) ? true : false; -} - -std::string getProgramName() -{ - return getexepath().erase(0, ( getexepath().find_last_of("/\\") != std::string::npos ) ? getexepath().find_last_of("/\\") +1 : 0 ); -} - - int unterOption_info(Settings *settings, int argc, char **argv) { settings->modus = Modus::INFO_MODUS; @@ -698,6 +680,65 @@ void unterOption_info_help() } +void unterOption_clean(Settings * settings, int argc, char **argv) +{ + if(argc > 2) + if(strcmp(argv[2], "--help") == 0) { + std::cout << "Aufruf: " << getProgramName() << " clean" << std::endl << std::endl; + std::cout << "Mit dieser Function werden die Cookie-Files gelöscht." << std::endl; + return; + } + + unsigned count = 0; + if(fileExists(settings->cookieFilePath)) { + if(remove(settings->cookieFilePath.c_str()) != 0) { + std::cout << " => Error: Das löschen von " << settings->cookieFilePath << " ist fehlgeschlagen: " << errno << std::endl; + return; + } else + count++; + } + + for (unsigned i = 0; i < UINT_MAX && fileExists(settings->cookieFilePath + std::to_string(i)); i++) { + if(remove( (settings->cookieFilePath + std::to_string(i)).c_str() ) != 0) { + std::cout << " => Error: Das löschen von " << settings->cookieFilePath + std::to_string(i) << " ist fehlgeschlagen: " << errno << std::endl; + return; + } else { + count++; + } + } + + if(count == 0) + std::cout << " => Nichts zu tun: Keine Cookies vorhanden." << std::endl; + else + std::cout << " => " << count << " Cookie-File(s) gelöscht." << std::endl; + + return; +} + +int compare(std::string All_Options_with_komma_between, std::string input) +{ + std::istringstream iStrStream( All_Options_with_komma_between + "\n"); + std::string line; + int allFounds = 0; + while (getline(iStrStream, line).good()) + if(strncmp(line.c_str(), input.c_str(), input.length()) == 0) { + allFounds++; + //std::cout << "Unteroption '" << input << "' stimmt mit '" << line << "' überein." << std::endl; + } + return allFounds; +} + +bool dirExists(std::string dir) +{ + struct stat sb; + return (stat(dir.c_str(), &sb) == 0 && S_ISDIR(sb.st_mode)) ? true : false; +} + +std::string getProgramName() +{ + return getexepath().erase(0, ( getexepath().find_last_of("/\\") != std::string::npos ) ? getexepath().find_last_of("/\\") +1 : 0 ); +} + std::string getexepath() { #ifdef linux @@ -729,37 +770,3 @@ bool fileExists (const std::string& name) { return (stat (name.c_str(), &buffer) == 0 && S_ISREG(buffer.st_mode)); } -void unterOption_clean(Settings * settings, int argc, char **argv) -{ - if(argc > 2) - if(strcmp(argv[2], "--help") == 0) { - std::cout << "Aufruf: " << getProgramName() << " clean" << std::endl << std::endl; - std::cout << "Mit dieser Function werden die Cookie-Files gelöscht." << std::endl; - return; - } - - unsigned count = 0; - if(fileExists(settings->cookieFilePath)) { - if(remove(settings->cookieFilePath.c_str()) != 0) { - std::cout << "Das löschen von " << settings->cookieFilePath << " ist fehlgeschlagen: " << errno << std::endl; - return; - } else - count++; - } - - for (unsigned i = 0; i < UINT_MAX && fileExists(settings->cookieFilePath + std::to_string(i)); i++) { - if(remove( (settings->cookieFilePath + std::to_string(i)).c_str() ) != 0) { - std::cout << "Das löschen von " << settings->cookieFilePath + std::to_string(i) << " ist fehlgeschlagen: " << errno << std::endl; - return; - } else { - count++; - } - } - - if(count == 0) - std::cout << " => Nichts zu tun: Keine Cookies vorhanden." << std::endl; - else - std::cout << " => " << count << " Cookie-File(s) gelöscht." << std::endl; - - return; -} diff --git a/parameterManager.h b/parameterManager.h index 7639452..6fab0f6 100644 --- a/parameterManager.h +++ b/parameterManager.h @@ -30,9 +30,10 @@ struct Settings { std::string name, accountFilePath = "/tmp/a", - accountNumberPath= "/tmp/b", + accountNumberPath= "/tmp/a_n", cookieFilePath = "/tmp/S_New4_cookies", serienListPath = "/tmp/SerienListe", + defaultsFilePath = "/tmp/defaults", proxy_ip = "127.0.0.1", languages = "GerDub,GerSub,Eng", genaueHoster = "Vivo,GoUnlimited", @@ -58,14 +59,17 @@ struct Settings { }; int manageParameter(Settings &settings, int argc, char ** argv); -std::string getProgramName(); +int loadDefaulOptions(Settings & settings); int compare(std::string All_Options_with_komma_between, std::string input); -void setPaths(Settings &settings); -bool dirExists(std::string dir); +std::string getProgramName(); std::string getexepath(); -void setPathSymbol(Settings &settings); +void setPathSymbol(Settings &settings); +void setPaths(Settings &settings); + +bool fileExists (const std::string& name); +bool dirExists(std::string dir); int unterOption_help();