#include "TokenCore.h" #include "Licensed.h" #include "Platform/Windows/MainTaskPumpWin.h" #include "Request.h" std::unique_ptr mainWin; int TokenCoreInitialize() { auto Callback = [](UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: { Licensed::Instance().UpdateToken(); return mainWin->OnCreated(reinterpret_cast(lParam)); } //case WM_DESTROY: // mainWin->Destroy(); // break; case WM_TIMER: { if (1 == wParam) { if (!Licensed::Instance().CheckValid()) { exit(0); } } else if (2 == wParam) { Licensed::Instance().UpdateToken(); } } break; default: break; } return false; }; Licensed* licensed = new Licensed; mainWin = MainTaskPumpWin::Create(Callback); return mainWin->InitWindow(); } int TOKEN_CORE_EXPORT Run() { if (!mainWin) { return -1; } mainWin->Run(); return 0; } void TokenCoreUninitialized() { if (mainWin) { mainWin->UninitWindow(); mainWin.reset(); } Licensed* licensed = &Licensed::Instance(); if (nullptr != licensed) { delete licensed; licensed = nullptr; } }