From 9c467020d4c333e9c4a5c50187034f4bfe6f16b0 Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Thu, 1 Jul 2021 23:27:36 -0700 Subject: [PATCH] :bug: fixed last commit --- main.cpp | 119 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 61 insertions(+), 58 deletions(-) diff --git a/main.cpp b/main.cpp index a72c43e..f96c553 100644 --- a/main.cpp +++ b/main.cpp @@ -38,73 +38,76 @@ int main(int argc, char **argv) << "\n\nThreads : " << get_nprocs() + 1 << std::endl; //flushing before EventLoop - // static_assert(bool(MAX_LOG_SIZE) == bool(PRE_LOG_SIZE), "You must either utilize both or neither logging variables.\n"); - // static_assert(MAX_LOG_SIZE >= PRE_LOG_SIZE, "The maximum log size must be larger than or equal to the amount preallocated.\n"); - // static_assert(!MAX_LOG_SIZE || !(MAX_LOG_SIZE % PRE_LOG_SIZE), "The maximum log size must be divisible by the preallocation size.\n"); + static_assert(bool(MAX_LOG_SIZE) == bool(PRE_LOG_SIZE), "You must either utilize both or neither logging variables.\n"); + static_assert(MAX_LOG_SIZE >= PRE_LOG_SIZE, "The maximum log size must be larger than or equal to the amount preallocated.\n"); + static_assert(!MAX_LOG_SIZE || !(MAX_LOG_SIZE % PRE_LOG_SIZE), "The maximum log size must be divisible by the preallocation size.\n"); - // if (argc != 3) - // { - // std::cerr << "Usage: sudo ./bank \n"; - // return 0; - // } - // if (geteuid() != 0) - // { - // std::cerr << "ERROR: CCash MUST be ran as root\n"; - // return 0; - // } + if (argc != 3) + { + std::cerr << "Usage: sudo ./bank \n"; + return 0; + } + if (geteuid() != 0) + { + std::cerr << "ERROR: CCash MUST be ran as root\n"; + return 0; + } - // //Loading users from users.json - // bank.Load(); + //Loading users from users.json + bank.Load(); - // //Sig handling - // struct sigaction sigIntHandler; + //Sig handling + struct sigaction sigIntHandler; - // sigIntHandler.sa_handler = SaveSig; - // sigemptyset(&sigIntHandler.sa_mask); - // sigIntHandler.sa_flags = 0; + sigIntHandler.sa_handler = SaveSig; + sigemptyset(&sigIntHandler.sa_mask); + sigIntHandler.sa_flags = 0; - // sigaction(SIGINT, &sigIntHandler, NULL); + sigaction(SIGINT, &sigIntHandler, NULL); - // //Admin Password - // bank.admin_pass = argv[1]; + //Admin Password + bank.admin_pass = argv[1]; - // //Auto Saving - // const unsigned long saving_freq = std::stoul(std::string(argv[2])); - // if (saving_freq) //if saving frequency is 0 then auto saving is turned off - // { - // std::thread([saving_freq]() { - // while (1) - // { - // std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); - // std::cout << "Saving " << std::time(0) << '\n'; - // if (bank.GetChangeState()) - // { - // std::cout << " to disk...\n"; - // bank.Save(); - // } - // else - // { - // std::cout << " no changes...\n"; - // } - // } - // }).detach(); - // } + //Auto Saving + const unsigned long saving_freq = std::stoul(std::string(argv[2])); + if (saving_freq) //if saving frequency is 0 then auto saving is turned off + { + std::thread([saving_freq]() + { + while (1) + { + std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); + std::cout << "Saving " << std::time(0) << '\n'; + if (bank.GetChangeState()) + { + std::cout << " to disk...\n"; + bank.Save(); + } + else + { + std::cout << " no changes...\n"; + } + } + }) + .detach(); + } - // auto API = std::make_shared(bank); - // auto user_filter = std::make_shared(bank); - // auto admin_filter = std::make_shared(bank); + auto API = std::make_shared(bank); + auto user_filter = std::make_shared(bank); + auto admin_filter = std::make_shared(bank); - // app().registerPostHandlingAdvice( - // [](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) { - // resp->addHeader("Access-Control-Allow-Origin", "*"); //CORS - // }); - // app() - // .loadConfigFile(config_location) - // .registerFilter(user_filter) - // .registerFilter(admin_filter) - // .registerController(API) - // .setThreadNum(get_nprocs()) - // .run(); + app().registerPostHandlingAdvice( + [](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) + { + resp->addHeader("Access-Control-Allow-Origin", "*"); //CORS + }); + app() + .loadConfigFile(config_location) + .registerFilter(user_filter) + .registerFilter(admin_filter) + .registerController(API) + .setThreadNum(get_nprocs()) + .run(); return 0; }