logic: headless license check
* added license check when running coati in headless more.
This commit is contained in:
+36
-36
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user