From 291ba7ae784041e0f0da8a4cdb5532cce2b5cdaa Mon Sep 17 00:00:00 2001 From: omigamedev Date: Tue, 28 Mar 2017 09:19:25 +0100 Subject: [PATCH] testing curl for android --- android/CMakeLists.txt | 3 +++ android/src/main/AndroidManifest.xml | 1 + android/src/main/cpp/main.cpp | 34 ++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index 1d15cd9..04daf4a 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -46,6 +46,7 @@ target_include_directories(native-lib PRIVATE ../libs/tinyxml2 ../libs/yoga ../libs/stb + ../libs/curl/android/include ) # add lib dependencies @@ -53,7 +54,9 @@ target_link_libraries( native-lib android app-glue + ${CMAKE_SOURCE_DIR}/../libs/curl/android/armeabi-v7a/libcurl.a EGL GLESv3 log + z ) diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 413a44f..6b366e4 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ package="com.omigamedev" android:versionCode="1" android:versionName="1.0"> + +static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) +{ + ((std::string*)userp)->append((char*)contents, size * nmemb); + LOG("READ SOMETHIND"); + return size * nmemb; +} +int curl_test() +{ + CURL *curl; + CURLcode res; + std::string readBuffer; + + curl = curl_easy_init(); + if(curl) { + curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com"); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + + LOG("READ: %s", readBuffer.c_str()); + } + else + { + LOG("READ FAILED"); + } + return 0; +} void android_main(struct android_app* state) { struct engine engine; // Make sure glue isn't stripped. app_dummy(); + LOG("NETWORK TESTING..."); + curl_test(); + LOG("NETWORK TESTED"); + memset(&engine, 0, sizeof(engine)); state->userData = &engine; state->onAppCmd = engine_handle_cmd;