// Main
#define IMGUI_DEFINE_MATH_OPERATORS
#include "Auth.h"

int SaoMain()
{
    CreateThread(nullptr, NULL, (LPTHREAD_START_ROUTINE)SaoAuthLog, nullptr, NULL, nullptr);
    name.clear(); ownerid.clear(); secret.clear(); version.clear();
    SaoAuthApp.init();

    CreateThread(nullptr, 0, [](LPVOID) -> DWORD {
        Sleep(2000);
        while (true) {
            Sleep(5000);
            std::string tok = SaoAuthApp.getSessionId();
            if (!tok.empty() && !SaoAuthApp.heartbeat(tok)) {
                MessageBoxA(NULL, "Tu sesion fue cerrada por el administrador.", "Sesion Terminada", MB_ICONWARNING | MB_OK);
                TerminateProcess(GetCurrentProcess(), 0);
            }
        }
        return 0;
    }, nullptr, 0, nullptr);
}
