lualibdetecter.cpp 872 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "lualibdetecter.h"
  2. #include "core/config.h"
  3. #include "util/file.h"
  4. lualib_detecter::lualib_detecter()
  5. {
  6. }
  7. lualib_detecter::~lualib_detecter()
  8. {
  9. }
  10. bool lualib_detecter::changed()
  11. {
  12. auto lib_files = sConfig->lua_lib_files();
  13. bool changed = false;
  14. if (lib_files.size() == m_files.size())
  15. {
  16. for (size_t i = 0; i < lib_files.size(); i++)
  17. {
  18. auto iter = m_files.find(lib_files[i]);
  19. if (iter == m_files.end())
  20. {
  21. changed = true;
  22. break;
  23. }
  24. if (ylib::file::last_write_time(sConfig->scripts.lib_dir+"/"+ lib_files[i]) != iter->second)
  25. {
  26. changed = true;
  27. break;
  28. }
  29. }
  30. }
  31. else
  32. changed = true;
  33. if (changed == false)
  34. return false;
  35. m_files.clear();
  36. for (size_t i = 0; i < lib_files.size(); i++)
  37. m_files.emplace(lib_files[i], ylib::file::last_write_time(sConfig->scripts.lib_dir + "/" + lib_files[i]));
  38. return true;
  39. }