|
|
@ -605,39 +605,19 @@ static size_t CurlCallback(void *buffer, size_t size, size_t nmemb, void *) |
|
|
|
//============================================================================
|
|
|
|
//============================================================================
|
|
|
|
static void StatusCallback(void *) |
|
|
|
static void StatusCallback(void *) |
|
|
|
{ |
|
|
|
{ |
|
|
|
CURL *hCurl; |
|
|
|
char *serverUrl = hsWStringToString(GetServerStatusUrl()); |
|
|
|
|
|
|
|
|
|
|
|
char *serverStatus = hsWStringToString(BuildTypeServerStatusPath()); |
|
|
|
CURL * hCurl = curl_easy_init(); |
|
|
|
char serverUrl[256]; |
|
|
|
|
|
|
|
snprintf(serverUrl, 256, "http://support.cyanworlds.com%s", serverStatus); |
|
|
|
|
|
|
|
delete [] serverStatus; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hCurl = curl_easy_init(); |
|
|
|
|
|
|
|
curl_easy_setopt(hCurl, CURLOPT_ERRORBUFFER, s_curlError); |
|
|
|
curl_easy_setopt(hCurl, CURLOPT_ERRORBUFFER, s_curlError); |
|
|
|
|
|
|
|
|
|
|
|
// update while we are running
|
|
|
|
// update while we are running
|
|
|
|
while(!s_shutdown) |
|
|
|
while(!s_shutdown) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if(BuildTypeServerStatusPath()) |
|
|
|
curl_easy_setopt(hCurl, CURLOPT_USERAGENT, "UruClient/1.0"); |
|
|
|
{ |
|
|
|
curl_easy_setopt(hCurl, CURLOPT_URL, serverUrl); |
|
|
|
//TODO: Get a server status path from the server.ini, without
|
|
|
|
|
|
|
|
// pulling in all the annoying pfConsole dependencies.
|
|
|
|
|
|
|
|
// Alternatively, make a better launcher...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
curl_easy_setopt(hCurl, CURLOPT_USERAGENT, "UruClient/1.0"); |
|
|
|
|
|
|
|
curl_easy_setopt(hCurl, CURLOPT_URL, serverUrl); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(StrLen(s_postKey)) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
char *safeData = curl_easy_escape(hCurl, s_postKey, strlen(s_postKey)); |
|
|
|
|
|
|
|
curl_easy_setopt(hCurl, CURLOPT_POST, 1); |
|
|
|
|
|
|
|
curl_easy_setopt(hCurl, CURLOPT_POSTFIELDS, safeData); |
|
|
|
|
|
|
|
curl_free(safeData); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (curl_easy_perform(hCurl) != 0) |
|
|
|
if (serverUrl[0] && curl_easy_perform(hCurl) != 0) // only perform request if there's actually a URL set
|
|
|
|
SetStatusText(s_curlError); |
|
|
|
SetStatusText(s_curlError); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(unsigned i = 0; i < UPDATE_STATUSMSG_SECONDS && !s_shutdown; ++i) |
|
|
|
for(unsigned i = 0; i < UPDATE_STATUSMSG_SECONDS && !s_shutdown; ++i) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -646,6 +626,7 @@ static void StatusCallback(void *) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
curl_easy_cleanup(hCurl); |
|
|
|
curl_easy_cleanup(hCurl); |
|
|
|
|
|
|
|
delete [] serverUrl; |
|
|
|
|
|
|
|
|
|
|
|
s_statusEvent.Signal(); |
|
|
|
s_statusEvent.Signal(); |
|
|
|
} |
|
|
|
} |
|
|
|