void OuyaPlugin_asyncOuyaRequestProducts(const char* productsJson, s3eCallback onSuccess, s3eCallback onFailure, s3eCallback onCancel) { IwTrace(ODK, ("ODK_platform: OuyaPlugin_asyncOuyaRequestProducts")); std::string msg = "OuyaPlugin_asyncOuyaRequestProducts: productsJson="; msg.append(productsJson); IwTrace(ODK, (msg.c_str())); //convert JSON to product id array JSONArray jsonArray = JSONArray(productsJson); std::vector<std::string> productIds; for (int i = 0; i < jsonArray.length(); i++) { std::string productId = jsonArray.getString(i); productIds.push_back(productId); } OuyaSDK::CallbackSingleton::GetInstance()->m_callbacksRequestProducts->RegisterCallbacks(onSuccess, onFailure, onCancel); g_pluginOuya.AsyncOuyaRequestProducts(productIds); }