iw4x-client/src/Components/Modules/News.cpp

70 lines
1.5 KiB
C++
Raw Normal View History

#include "STDInclude.hpp"
2015-12-30 18:55:08 -05:00
2016-02-23 09:52:31 -05:00
#define NEWS_MOTD_DEFUALT "Welcome to IW4x Multiplayer!"
2015-12-30 18:55:08 -05:00
namespace Components
{
2016-06-02 09:11:31 -04:00
std::thread News::Thread;
bool News::UnitTest()
{
bool result = true;
2016-06-02 09:11:31 -04:00
if (News::Thread.joinable())
{
Logger::Print("Awaiting thread termination...\n");
2016-06-02 09:11:31 -04:00
News::Thread.join();
2016-06-26 08:25:54 -04:00
if (!strlen(Localization::Get("MPUI_CHANGELOG_TEXT")) || Localization::Get("MPUI_CHANGELOG_TEXT") == "Loading..."s)
{
Logger::Print("Failed to fetch changelog!\n");
result = false;
}
else
{
Logger::Print("Successfully fetched changelog.\n");
}
if (!strcmp(Localization::Get("MPUI_MOTD_TEXT"), NEWS_MOTD_DEFUALT))
{
Logger::Print("Failed to fetch motd!\n");
result = false;
}
else
{
Logger::Print("Successfully fetched motd.\n");
}
}
return result;
}
2015-12-30 18:55:08 -05:00
News::News()
{
2016-03-17 14:11:59 -04:00
Localization::Set("MPUI_CHANGELOG_TEXT", "Loading...");
Localization::Set("MPUI_MOTD_TEXT", NEWS_MOTD_DEFUALT);
2016-01-11 18:48:27 -05:00
2016-06-02 09:11:31 -04:00
News::Thread = std::thread([] ()
2015-12-30 18:55:08 -05:00
{
2016-02-04 18:33:06 -05:00
Localization::Set("MPUI_CHANGELOG_TEXT", Utils::WebIO("IW4x", "https://iw4xcachep26muba.onion.to/iw4/changelog.txt").SetTimeout(5000)->Get().data());
2016-01-26 18:50:20 -05:00
2016-02-04 18:33:06 -05:00
std::string data = Utils::WebIO("IW4x", "https://iw4xcachep26muba.onion.to/iw4/motd.txt").SetTimeout(5000)->Get();
2015-12-30 18:55:08 -05:00
if (!data.empty())
2016-01-26 18:50:20 -05:00
{
Localization::Set("MPUI_MOTD_TEXT", data.data());
}
2016-01-07 18:59:59 -05:00
2016-01-26 18:50:20 -05:00
// TODO: Implement update checks here!
});
}
News::~News()
{
2016-06-02 09:11:31 -04:00
if (News::Thread.joinable())
2016-01-26 18:50:20 -05:00
{
2016-06-02 09:11:31 -04:00
News::Thread.join();
2016-01-26 18:50:20 -05:00
}
2015-12-30 18:55:08 -05:00
}
}