X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpingback.cc;h=8e4a32628d546585ec29896e9ea2b6832c67b32e;hb=c9f9bb263fc3f96e383216d515c62ac6706b56da;hp=e986b8e260f1139a35c533d94217837cd0040bcd;hpb=ed5ff77313c2173fa96547d58aacc672092ecd5b;p=ardour.git diff --git a/gtk2_ardour/pingback.cc b/gtk2_ardour/pingback.cc index e986b8e260..8e4a32628d 100644 --- a/gtk2_ardour/pingback.cc +++ b/gtk2_ardour/pingback.cc @@ -23,19 +23,26 @@ #include #include +#ifndef PLATFORM_WINDOWS #include +#endif + #include #include #include "pbd/compose.h" #include "pbd/pthread_utils.h" + #include "ardour/filesystem_paths.h" +#include "ardour/rc_configuration.h" #include "pingback.h" using std::string; +using namespace ARDOUR; +#ifndef PLATFORM_WINDOWS // no pingback for windows, so far static size_t curl_write_data (char *bufptr, size_t size, size_t nitems, void *ptr) { @@ -55,6 +62,7 @@ curl_write_data (char *bufptr, size_t size, size_t nitems, void *ptr) return size * nitems; } +#endif struct ping_call { std::string version; @@ -67,6 +75,7 @@ struct ping_call { static void* _pingback (void *arg) { +#ifndef PLATFORM_WINDOWS ping_call* cm = static_cast (arg); CURL* c; struct utsname utb; @@ -80,21 +89,18 @@ _pingback (void *arg) curl_global_init (CURL_GLOBAL_NOTHING); c = curl_easy_init (); - - curl_easy_setopt(c, CURLOPT_WRITEFUNCTION, curl_write_data); - curl_easy_setopt(c, CURLOPT_WRITEDATA, &return_str); + + curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, curl_write_data); + curl_easy_setopt (c, CURLOPT_WRITEDATA, &return_str); char errbuf[CURL_ERROR_SIZE]; - curl_easy_setopt(c, CURLOPT_ERRORBUFFER, errbuf); - - //get announcements from our server - std::cerr << "Checking for Announcements from ardour.org ...\n"; + curl_easy_setopt (c, CURLOPT_ERRORBUFFER, errbuf); string url; #ifdef __APPLE__ - url = "https://community.ardour.org/pingback/osx/"; + url = Config->get_osx_pingback_url (); #else - url = "https://community.ardour.org/pingback/linux/"; + url = Config->get_linux_pingback_url (); #endif char* v = curl_easy_escape (c, cm->version.c_str(), cm->version.length()); @@ -123,14 +129,12 @@ _pingback (void *arg) url += s; free (query); - std::cerr << "ping using " << url << std::endl; - curl_easy_setopt (c, CURLOPT_URL, url.c_str()); return_str = ""; if (curl_easy_perform (c) == 0) { - int http_status; + long http_status; curl_easy_getinfo (c, CURLINFO_RESPONSE_CODE, &http_status); @@ -153,11 +157,15 @@ _pingback (void *arg) annc_file << return_str; } } + } else { + std::cerr << "curl failed: " << errbuf << std::endl; } curl_easy_cleanup (c); delete cm; +#endif /* PLATFORM_WINDOWS */ + return 0; }