#ifdef WIN32
#include <windows.h>
#else
#include <csignal>
#endif
static void Exithandler(int sig);
#ifdef WIN32
BOOL WINAPI ConsoleHandler(DWORD CEvent)
{
Exithandler(CEvent);
return TRUE;
}
#endif
#include <memory>
#include <iostream>
#include <thread>
#include <chrono>
std::shared_ptr<PSTech::pstsdk::Tracker> pst;
static void Exithandler(int sig)
{
pst->DisableRestServer();
pst->Shutdown();
exit(0);
}
int main(int argc, char *argv[])
{
#ifdef WIN32
SetConsoleCtrlHandler((PHANDLER_ROUTINE)ConsoleHandler, TRUE);
#else
signal(SIGTERM, Exithandler);
signal(SIGKILL, Exithandler);
signal(SIGQUIT, Exithandler);
signal(SIGINT, Exithandler);
#endif
try
{
#ifdef WIN32
pst = std::make_shared<PSTech::pstsdk::Tracker>();
#else
pst = std::make_shared<PSTech::pstsdk::Tracker>("","config.cfg","models.db",argv[1]);
#endif
pst->Start();
pst->EnableRestServer("localhost", "7278");
std::cout << "PST REST server enabled. See the PST SDK Manual for example commands.\n";
std::this_thread::sleep_for(std::chrono::milliseconds(60000));
pst->DisableRestServer();
}
{
}
pst->Shutdown();
return 0;
}