logic: headless license check

* added license check when running coati in headless more.
This commit is contained in:
malte_langkabel
2016-04-22 13:45:56 +02:00
parent 3e90b62c82
commit 73973cb4a3
3 changed files with 49 additions and 41 deletions
+36 -36
View File
@@ -33,42 +33,7 @@ void LicenseChecker::setApp(Application* app)
m_app = app;
}
LicenseChecker::LicenseChecker()
: m_app(nullptr)
, m_forcedLicenseEntering(false)
{
}
void LicenseChecker::handleMessage(MessageDispatchWhenLicenseValid* message)
{
if (m_app != nullptr && !checkLicenseString())
{
m_pendingMessage = message->content;
if (!m_forcedLicenseEntering)
{
m_app->forceEnterLicense();
m_forcedLicenseEntering = true;
}
}
else
{
message->content->dispatch();
}
}
void LicenseChecker::handleMessage(MessageEnteredLicense* message)
{
m_forcedLicenseEntering = false;
if (m_pendingMessage)
{
m_pendingMessage->dispatch();
m_pendingMessage.reset();
}
}
bool LicenseChecker::checkLicenseString()
bool LicenseChecker::isCurrentLicenseValid()
{
MessageStatus("preparing...", false, true).dispatch();
@@ -114,4 +79,39 @@ bool LicenseChecker::checkLicenseString()
return valid;
}
LicenseChecker::LicenseChecker()
: m_app(nullptr)
, m_forcedLicenseEntering(false)
{
}
void LicenseChecker::handleMessage(MessageDispatchWhenLicenseValid* message)
{
if (m_app != nullptr && !isCurrentLicenseValid())
{
m_pendingMessage = message->content;
if (!m_forcedLicenseEntering)
{
m_app->forceEnterLicense();
m_forcedLicenseEntering = true;
}
}
else
{
message->content->dispatch();
}
}
void LicenseChecker::handleMessage(MessageEnteredLicense* message)
{
m_forcedLicenseEntering = false;
if (m_pendingMessage)
{
m_pendingMessage->dispatch();
m_pendingMessage.reset();
}
}
std::shared_ptr<LicenseChecker> LicenseChecker::s_instance;