You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #include "main.hpp"
  2. #include <signal.h>
  3. #include <sqlite3.h>
  4. using namespace iflytop;
  5. using namespace core;
  6. using namespace std;
  7. /*******************************************************************************
  8. * MAIN => MAIN *
  9. *******************************************************************************/
  10. Main *Main::g_main;
  11. int main(int argc, char *argv[]) {
  12. Main main;
  13. Main::g_main = &main;
  14. main.run(argc, argv);
  15. }
  16. void Main::onsignal(int signo) { exit(0); }
  17. void Main::run(int argc, char *argv[]) {
  18. // ::signal(SIGINT, Main::_onsignal);
  19. thread.reset(new Thread("main", [&]() { exit(main(argc, argv)); }));
  20. while (true) sleep(1000);
  21. }
  22. int Main::main(int argc, char *argv[]) {
  23. /**
  24. * @brief
  25. */
  26. // string device_id;
  27. // auto cli = ((required("-device_id") & value("device_id", device_id)).doc("device_id"));
  28. // if (!parse(argc, argv, cli)) {
  29. // cout << make_man_page(cli, argv[0]);
  30. // exit(-1);
  31. // }
  32. /**
  33. * @brief
  34. */
  35. logger->info("system setup start.");
  36. spdlog::flush_on(spdlog::level::debug);
  37. logger->info("#");
  38. logger->info("# company:{}", "ifytop");
  39. logger->info("# version:{}", VERSION);
  40. logger->info("#");
  41. logger->info("build {}.....", "Config");
  42. // 构造GConfig
  43. BUILD_AND_REG_SERRVICE(GConfig);
  44. GET_SERVICE(GConfig)->initialize();
  45. /**
  46. * @brief
  47. */
  48. // if (!device_id.empty()) GET_SERVICE(GConfig)->set_deviceId(device_id);
  49. auto config = GET_SERVICE(GConfig);
  50. // 构造MainControlService
  51. BUILD_AND_REG_SERRVICE(MainControlService);
  52. GET_SERVICE(MainControlService)->initialize();
  53. logger->info("system setup end.");
  54. while (true) sleep(1000);
  55. }