From 75557bbe7b54159d1b356cae20000c42914ee454 Mon Sep 17 00:00:00 2001 From: zhangbin Date: Tue, 16 Apr 2013 14:41:35 +0800 Subject: [PATCH 1/2] Remove the protocol IAP Online --- plugin/protocols/include/ProtocolIAPOnLine.h | 76 ---------- .../platform/android/ProtocolIAPOnLine.cpp | 134 ------------------ plugin/protocols/proj.android/jni/Android.mk | 2 +- 3 files changed, 1 insertion(+), 211 deletions(-) delete mode 100644 plugin/protocols/include/ProtocolIAPOnLine.h delete mode 100644 plugin/protocols/platform/android/ProtocolIAPOnLine.cpp diff --git a/plugin/protocols/include/ProtocolIAPOnLine.h b/plugin/protocols/include/ProtocolIAPOnLine.h deleted file mode 100644 index fc539b8cf5..0000000000 --- a/plugin/protocols/include/ProtocolIAPOnLine.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef __CCX_PROTOCOL_IAP_ONLINE_H__ -#define __CCX_PROTOCOL_IAP_ONLINE_H__ - -#include "ProtocolIAP.h" - -namespace cocos2d { namespace plugin { - -class LocalResultListener -{ -public: - virtual void payFailedLocally(EPayResult ret, const char* msg) = 0; -}; - -class ProtocolIAPOnLine : public PluginProtocol -{ -public: - - /** - @brief plugin initialization - */ - virtual bool init(); - - /** - @brief initialize the developer info - @param devInfo This parameter is the info of developer, - different plugin have different format - @warning Must invoke this interface before other interfaces. - And invoked only once. - */ - virtual void initDeveloperInfo(TDeveloperInfo devInfo); - - /** - @brief pay for product - @param info The info of product, must contains key: - productName The name of product - productPrice The price of product - productDesc The description of product - @warning For different plugin, the parameter should have other keys to pay. - Look at the manual of plugins. - */ - virtual void payForProduct(TProductInfo info); - - /** - @brief Set whether needs to output logs to console. - @param debug if true debug mode enabled, or debug mode disabled. - */ - virtual void setDebugMode(bool debug); - - /** - @breif set the local result listener - @param pListener The callback object for local result - @wraning Must invoke this interface before payForProduct. - */ - static void setLocalResultListener(LocalResultListener* pListener); - - /** - @brief pay failed locally callback - */ - static void payFailedLocally(EPayResult ret, const char* msg); - - virtual const char* getPluginVersion() { return "ProtocolIAPOnLine, v0.1.01 , subclass should override this interface!"; }; - virtual const char* getSDKVersion(); - virtual const char* getPluginName() = 0; - -protected: - ProtocolIAPOnLine(); -public: - virtual ~ProtocolIAPOnLine(); - -protected: - static LocalResultListener* m_spListener; -}; - -}} // namespace cocos2d { namespace plugin { - -#endif /* __CCX_PROTOCOL_IAP_ONLINE_H__ */ diff --git a/plugin/protocols/platform/android/ProtocolIAPOnLine.cpp b/plugin/protocols/platform/android/ProtocolIAPOnLine.cpp deleted file mode 100644 index 06e9337619..0000000000 --- a/plugin/protocols/platform/android/ProtocolIAPOnLine.cpp +++ /dev/null @@ -1,134 +0,0 @@ -#include "ProtocolIAPOnLine.h" -#include "PluginJniHelper.h" -#include -#include "PluginUtils.h" -#include "PluginJavaData.h" - -#if 1 -#define LOG_TAG "ProtocolIAPOnLine" -#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) -#else -#define LOGD(...) -#endif - -namespace cocos2d { namespace plugin { - -extern "C" { - JNIEXPORT void JNICALL Java_org_cocos2dx_plugin_InterfaceIAPOL_nativePayFailedLocally(JNIEnv* env, jobject thiz, jint ret, jstring msg) - { - std::string strMsg = PluginJniHelper::jstring2string(msg); - ProtocolIAPOnLine::payFailedLocally((EPayResult) ret, strMsg.c_str()); - } -} - -LocalResultListener* ProtocolIAPOnLine::m_spListener = NULL; - -ProtocolIAPOnLine::ProtocolIAPOnLine() -{ -} - -ProtocolIAPOnLine::~ProtocolIAPOnLine() -{ - PluginUtils::erasePluginJavaData(this); -} - -bool ProtocolIAPOnLine::init() -{ - return true; -} - -void ProtocolIAPOnLine::initDeveloperInfo(TDeveloperInfo devInfo) -{ - if (devInfo.empty()) - { - LOGD("The developer info is empty!"); - return; - } - else - { - PluginJavaData* pData = PluginUtils::getPluginJavaData(this); - PluginJniMethodInfo t; - if (PluginJniHelper::getMethodInfo(t - , pData->jclassName.c_str() - , "initDeveloperInfo" - , "(Ljava/util/Hashtable;)V")) - { - // generate the hashtable from map - jobject obj_Map = PluginUtils::createJavaMapObject(t, &devInfo); - - // invoke java method - t.env->CallVoidMethod(pData->jobj, t.methodID, obj_Map); - t.env->DeleteLocalRef(obj_Map); - t.env->DeleteLocalRef(t.classID); - } - } -} - -void ProtocolIAPOnLine::payForProduct(TProductInfo info) -{ - if (info.empty()) - { - LOGD("The product info is empty!"); - return; - } - else - { - PluginJavaData* pData = PluginUtils::getPluginJavaData(this); - PluginJniMethodInfo t; - if (PluginJniHelper::getMethodInfo(t - , pData->jclassName.c_str() - , "payForProduct" - , "(Ljava/util/Hashtable;)V")) - { - // generate the hashtable from map - jobject obj_Map = PluginUtils::createJavaMapObject(t, &info); - - // invoke java method - t.env->CallVoidMethod(pData->jobj, t.methodID, obj_Map); - t.env->DeleteLocalRef(obj_Map); - t.env->DeleteLocalRef(t.classID); - } - } -} - -void ProtocolIAPOnLine::setLocalResultListener(LocalResultListener* pListener) -{ - m_spListener = pListener; -} - -void ProtocolIAPOnLine::payFailedLocally(EPayResult ret, const char* msg) -{ - if (m_spListener) - { - m_spListener->payFailedLocally(ret, msg); - } - else - { - LOGD("Local Result listener is null!"); - } - LOGD("Pay failed locally : %d(%s)", (int) ret, msg); -} - -const char* ProtocolIAPOnLine::getSDKVersion() -{ - std::string verName; - - PluginJavaData* pData = PluginUtils::getPluginJavaData(this); - PluginJniMethodInfo t; - if (PluginJniHelper::getMethodInfo(t - , pData->jclassName.c_str() - , "getSDKVersion" - , "()Ljava/lang/String;")) - { - jstring ret = (jstring)(t.env->CallObjectMethod(pData->jobj, t.methodID)); - verName = PluginJniHelper::jstring2string(ret); - } - return verName.c_str(); -} - -void ProtocolIAPOnLine::setDebugMode(bool debug) -{ - PluginUtils::callJavaFunctionWithName_oneBaseType(this, "setDebugMode", "(Z)V", debug); -} - -}} // namespace cocos2d { namespace plugin { diff --git a/plugin/protocols/proj.android/jni/Android.mk b/plugin/protocols/proj.android/jni/Android.mk index 709b3dec96..9e0ad021e8 100644 --- a/plugin/protocols/proj.android/jni/Android.mk +++ b/plugin/protocols/proj.android/jni/Android.mk @@ -12,7 +12,7 @@ $(addprefix ../../platform/android/, \ PluginUtils.cpp \ ProtocolAnalytics.cpp \ ProtocolIAP.cpp \ - ProtocolIAPOnLine.cpp \ + ProtocolAds.cpp \ ) \ ../../PluginManager.cpp \ ../../RegisterPlugin.cpp \ From d762283c9bce98dfd641a16c49cc8a1551f9a9ed Mon Sep 17 00:00:00 2001 From: zhangbin Date: Tue, 16 Apr 2013 14:51:32 +0800 Subject: [PATCH 2/2] Resolve the ndk build error. --- plugin/protocols/proj.android/jni/Android.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin/protocols/proj.android/jni/Android.mk b/plugin/protocols/proj.android/jni/Android.mk index 9e0ad021e8..29ba7e1c5d 100644 --- a/plugin/protocols/proj.android/jni/Android.mk +++ b/plugin/protocols/proj.android/jni/Android.mk @@ -12,7 +12,6 @@ $(addprefix ../../platform/android/, \ PluginUtils.cpp \ ProtocolAnalytics.cpp \ ProtocolIAP.cpp \ - ProtocolAds.cpp \ ) \ ../../PluginManager.cpp \ ../../RegisterPlugin.cpp \