diff --git a/CMakeLists.txt b/CMakeLists.txt index af7a92a..f84d4d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(main) +project(bank) set (CMAKE_CXX_STANDARD 17) if(NOT CMAKE_BUILD_TYPE) diff --git a/main.cpp b/main.cpp index 9906fdf..ec820a6 100644 --- a/main.cpp +++ b/main.cpp @@ -3,16 +3,28 @@ #include #include "bank.hpp" -int main() +int main(int argc, char **argv) { - std::thread([&]() { - for (int i = 0; i < 10000; ++i) + if (argc != 5) + { + std::cerr << "Usage: sudo ./bank \n"; + return 0; + } + if ((argv[3][0] != '0' && argv[3][0] != '1')) + { + std::cerr << "run in background state must be 1 or 0\n"; + return 0; + } + + //Auto Saving + volatile bool saving_flag = true; + std::thread([&argv, &saving_flag]() { + while (saving_flag) { - Bank.AddUser(std::to_string(i), "root"); + std::this_thread::sleep_for(std::chrono::minutes(std::stoi(argv[2]))); + Bank.Save(); } }).detach(); - std::this_thread::sleep_for(std::chrono::nanoseconds(10)); - Bank.Save(); - std::this_thread::sleep_for(std::chrono::seconds(1)); + return 0; } \ No newline at end of file