From 7888f0091554cb689ccb4dce1697b3782bf4d46b Mon Sep 17 00:00:00 2001 From: "yanli.huang" Date: Wed, 20 Jul 2016 16:14:05 +0800 Subject: [PATCH 1/2] add anysdk library --- .../arm64-v8a/include/anysdk/AgentManager.h | 245 ++++++++++++++++++ .../arm64-v8a/include/anysdk/JSBRelation.h | 31 +++ .../arm64-v8a/include/anysdk/PluginFactory.h | 41 +++ .../arm64-v8a/include/anysdk/PluginJavaData.h | 17 ++ .../include/anysdk/PluginJniHelper.h | 43 +++ .../include/anysdk/PluginJniMacros.h | 156 +++++++++++ .../arm64-v8a/include/anysdk/PluginManager.h | 51 ++++ .../arm64-v8a/include/anysdk/PluginParam.h | 126 +++++++++ .../arm64-v8a/include/anysdk/PluginProtocol.h | 144 ++++++++++ .../arm64-v8a/include/anysdk/PluginUtils.h | 157 +++++++++++ .../include/anysdk/ProtocolAdTracking.h | 58 +++++ .../arm64-v8a/include/anysdk/ProtocolAds.h | 133 ++++++++++ .../include/anysdk/ProtocolAnalytics.h | 107 ++++++++ .../arm64-v8a/include/anysdk/ProtocolCrash.h | 44 ++++ .../arm64-v8a/include/anysdk/ProtocolCustom.h | 50 ++++ .../arm64-v8a/include/anysdk/ProtocolIAP.h | 119 +++++++++ .../arm64-v8a/include/anysdk/ProtocolPush.h | 104 ++++++++ .../arm64-v8a/include/anysdk/ProtocolREC.h | 83 ++++++ .../arm64-v8a/include/anysdk/ProtocolShare.h | 72 +++++ .../arm64-v8a/include/anysdk/ProtocolSocial.h | 105 ++++++++ .../arm64-v8a/include/anysdk/ProtocolUser.h | 134 ++++++++++ android/arm64-v8a/include/anysdk/Statistics.h | 18 ++ android/arm64-v8a/libPluginProtocolStatic.a | Bin 0 -> 810112 bytes .../armeabi-v7a/include/anysdk/AgentManager.h | 245 ++++++++++++++++++ .../armeabi-v7a/include/anysdk/JSBRelation.h | 31 +++ .../include/anysdk/PluginFactory.h | 41 +++ .../include/anysdk/PluginJavaData.h | 17 ++ .../include/anysdk/PluginJniHelper.h | 43 +++ .../include/anysdk/PluginJniMacros.h | 156 +++++++++++ .../include/anysdk/PluginManager.h | 51 ++++ .../armeabi-v7a/include/anysdk/PluginParam.h | 126 +++++++++ .../include/anysdk/PluginProtocol.h | 144 ++++++++++ .../armeabi-v7a/include/anysdk/PluginUtils.h | 157 +++++++++++ .../include/anysdk/ProtocolAdTracking.h | 58 +++++ .../armeabi-v7a/include/anysdk/ProtocolAds.h | 133 ++++++++++ .../include/anysdk/ProtocolAnalytics.h | 107 ++++++++ .../include/anysdk/ProtocolCrash.h | 44 ++++ .../include/anysdk/ProtocolCustom.h | 50 ++++ .../armeabi-v7a/include/anysdk/ProtocolIAP.h | 119 +++++++++ .../armeabi-v7a/include/anysdk/ProtocolPush.h | 104 ++++++++ .../armeabi-v7a/include/anysdk/ProtocolREC.h | 83 ++++++ .../include/anysdk/ProtocolShare.h | 72 +++++ .../include/anysdk/ProtocolSocial.h | 105 ++++++++ .../armeabi-v7a/include/anysdk/ProtocolUser.h | 134 ++++++++++ .../armeabi-v7a/include/anysdk/Statistics.h | 18 ++ android/armeabi-v7a/libPluginProtocolStatic.a | Bin 0 -> 833708 bytes android/armeabi/include/anysdk/AgentManager.h | 245 ++++++++++++++++++ android/armeabi/include/anysdk/JSBRelation.h | 31 +++ .../armeabi/include/anysdk/PluginFactory.h | 41 +++ .../armeabi/include/anysdk/PluginJavaData.h | 17 ++ .../armeabi/include/anysdk/PluginJniHelper.h | 43 +++ .../armeabi/include/anysdk/PluginJniMacros.h | 156 +++++++++++ .../armeabi/include/anysdk/PluginManager.h | 51 ++++ android/armeabi/include/anysdk/PluginParam.h | 126 +++++++++ .../armeabi/include/anysdk/PluginProtocol.h | 144 ++++++++++ android/armeabi/include/anysdk/PluginUtils.h | 157 +++++++++++ .../include/anysdk/ProtocolAdTracking.h | 58 +++++ android/armeabi/include/anysdk/ProtocolAds.h | 133 ++++++++++ .../include/anysdk/ProtocolAnalytics.h | 107 ++++++++ .../armeabi/include/anysdk/ProtocolCrash.h | 44 ++++ .../armeabi/include/anysdk/ProtocolCustom.h | 50 ++++ android/armeabi/include/anysdk/ProtocolIAP.h | 119 +++++++++ android/armeabi/include/anysdk/ProtocolPush.h | 104 ++++++++ android/armeabi/include/anysdk/ProtocolREC.h | 83 ++++++ .../armeabi/include/anysdk/ProtocolShare.h | 72 +++++ .../armeabi/include/anysdk/ProtocolSocial.h | 105 ++++++++ android/armeabi/include/anysdk/ProtocolUser.h | 134 ++++++++++ android/armeabi/include/anysdk/Statistics.h | 18 ++ android/armeabi/libPluginProtocolStatic.a | Bin 0 -> 828924 bytes android/x86/include/anysdk/AgentManager.h | 245 ++++++++++++++++++ android/x86/include/anysdk/JSBRelation.h | 31 +++ android/x86/include/anysdk/PluginFactory.h | 41 +++ android/x86/include/anysdk/PluginJavaData.h | 17 ++ android/x86/include/anysdk/PluginJniHelper.h | 43 +++ android/x86/include/anysdk/PluginJniMacros.h | 156 +++++++++++ android/x86/include/anysdk/PluginManager.h | 51 ++++ android/x86/include/anysdk/PluginParam.h | 126 +++++++++ android/x86/include/anysdk/PluginProtocol.h | 144 ++++++++++ android/x86/include/anysdk/PluginUtils.h | 157 +++++++++++ .../x86/include/anysdk/ProtocolAdTracking.h | 58 +++++ android/x86/include/anysdk/ProtocolAds.h | 133 ++++++++++ .../x86/include/anysdk/ProtocolAnalytics.h | 107 ++++++++ android/x86/include/anysdk/ProtocolCrash.h | 44 ++++ android/x86/include/anysdk/ProtocolCustom.h | 50 ++++ android/x86/include/anysdk/ProtocolIAP.h | 119 +++++++++ android/x86/include/anysdk/ProtocolPush.h | 104 ++++++++ android/x86/include/anysdk/ProtocolREC.h | 83 ++++++ android/x86/include/anysdk/ProtocolShare.h | 72 +++++ android/x86/include/anysdk/ProtocolSocial.h | 105 ++++++++ android/x86/include/anysdk/ProtocolUser.h | 134 ++++++++++ android/x86/include/anysdk/Statistics.h | 18 ++ android/x86/libPluginProtocolStatic.a | Bin 0 -> 611968 bytes ios/include/anysdk/AdsUtil.h | 20 ++ ios/include/anysdk/AdsWrapper.h | 96 +++++++ ios/include/anysdk/AgentManager.h | 245 ++++++++++++++++++ ios/include/anysdk/AnalyticsWrapper.h | 41 +++ ios/include/anysdk/CocosRuntimeDelegate.h | 14 + ios/include/anysdk/CustomWrapper.h | 25 ++ ios/include/anysdk/IAPWrapper.h | 86 ++++++ ios/include/anysdk/InterfaceAdTracking.h | 108 ++++++++ ios/include/anysdk/InterfaceAds.h | 122 +++++++++ ios/include/anysdk/InterfaceAnalytics.h | 132 ++++++++++ ios/include/anysdk/InterfaceCrash.h | 86 ++++++ ios/include/anysdk/InterfaceCustom.h | 64 +++++ ios/include/anysdk/InterfaceIAP.h | 102 ++++++++ ios/include/anysdk/InterfacePush.h | 106 ++++++++ ios/include/anysdk/InterfaceREC.h | 95 +++++++ ios/include/anysdk/InterfaceShare.h | 75 ++++++ ios/include/anysdk/InterfaceSocial.h | 102 ++++++++ ios/include/anysdk/InterfaceUser.h | 94 +++++++ ios/include/anysdk/JSBRelation.h | 31 +++ ios/include/anysdk/JsonParser.h | 26 ++ .../anysdk/PluginApplicationDelegate.h | 53 ++++ ios/include/anysdk/PluginFactory.h | 41 +++ ios/include/anysdk/PluginHelper.h | 130 ++++++++++ ios/include/anysdk/PluginManager.h | 51 ++++ ios/include/anysdk/PluginParam.h | 126 +++++++++ ios/include/anysdk/PluginProtocol.h | 144 ++++++++++ ios/include/anysdk/PluginWrapper.h | 39 +++ ios/include/anysdk/ProtocolAdTracking.h | 58 +++++ ios/include/anysdk/ProtocolAds.h | 133 ++++++++++ ios/include/anysdk/ProtocolAnalytics.h | 107 ++++++++ ios/include/anysdk/ProtocolCrash.h | 44 ++++ ios/include/anysdk/ProtocolCustom.h | 50 ++++ ios/include/anysdk/ProtocolIAP.h | 119 +++++++++ ios/include/anysdk/ProtocolPush.h | 104 ++++++++ ios/include/anysdk/ProtocolREC.h | 83 ++++++ ios/include/anysdk/ProtocolShare.h | 72 +++++ ios/include/anysdk/ProtocolSocial.h | 105 ++++++++ ios/include/anysdk/ProtocolUser.h | 134 ++++++++++ ios/include/anysdk/PushWrapper.h | 28 ++ ios/include/anysdk/RECWrapper.h | 34 +++ ios/include/anysdk/SdkHttpListener.h | 26 ++ ios/include/anysdk/ShareWrapper.h | 31 +++ ios/include/anysdk/SocialWrapper.h | 38 +++ ios/include/anysdk/UserWrapper.h | 67 +++++ ios/include/anysdk/Wrapper.h | 110 ++++++++ ios/libs/libPluginProtocol.a | Bin 0 -> 8299768 bytes 138 files changed, 11749 insertions(+) create mode 100644 android/arm64-v8a/include/anysdk/AgentManager.h create mode 100644 android/arm64-v8a/include/anysdk/JSBRelation.h create mode 100644 android/arm64-v8a/include/anysdk/PluginFactory.h create mode 100644 android/arm64-v8a/include/anysdk/PluginJavaData.h create mode 100644 android/arm64-v8a/include/anysdk/PluginJniHelper.h create mode 100644 android/arm64-v8a/include/anysdk/PluginJniMacros.h create mode 100644 android/arm64-v8a/include/anysdk/PluginManager.h create mode 100644 android/arm64-v8a/include/anysdk/PluginParam.h create mode 100644 android/arm64-v8a/include/anysdk/PluginProtocol.h create mode 100644 android/arm64-v8a/include/anysdk/PluginUtils.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolAdTracking.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolAds.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolAnalytics.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolCrash.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolCustom.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolIAP.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolPush.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolREC.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolShare.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolSocial.h create mode 100644 android/arm64-v8a/include/anysdk/ProtocolUser.h create mode 100644 android/arm64-v8a/include/anysdk/Statistics.h create mode 100644 android/arm64-v8a/libPluginProtocolStatic.a create mode 100644 android/armeabi-v7a/include/anysdk/AgentManager.h create mode 100644 android/armeabi-v7a/include/anysdk/JSBRelation.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginFactory.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginJavaData.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginJniHelper.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginJniMacros.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginManager.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginParam.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginProtocol.h create mode 100644 android/armeabi-v7a/include/anysdk/PluginUtils.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolAdTracking.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolAds.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolAnalytics.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolCrash.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolCustom.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolIAP.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolPush.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolREC.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolShare.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolSocial.h create mode 100644 android/armeabi-v7a/include/anysdk/ProtocolUser.h create mode 100644 android/armeabi-v7a/include/anysdk/Statistics.h create mode 100644 android/armeabi-v7a/libPluginProtocolStatic.a create mode 100644 android/armeabi/include/anysdk/AgentManager.h create mode 100644 android/armeabi/include/anysdk/JSBRelation.h create mode 100644 android/armeabi/include/anysdk/PluginFactory.h create mode 100644 android/armeabi/include/anysdk/PluginJavaData.h create mode 100644 android/armeabi/include/anysdk/PluginJniHelper.h create mode 100644 android/armeabi/include/anysdk/PluginJniMacros.h create mode 100644 android/armeabi/include/anysdk/PluginManager.h create mode 100644 android/armeabi/include/anysdk/PluginParam.h create mode 100644 android/armeabi/include/anysdk/PluginProtocol.h create mode 100644 android/armeabi/include/anysdk/PluginUtils.h create mode 100644 android/armeabi/include/anysdk/ProtocolAdTracking.h create mode 100644 android/armeabi/include/anysdk/ProtocolAds.h create mode 100644 android/armeabi/include/anysdk/ProtocolAnalytics.h create mode 100644 android/armeabi/include/anysdk/ProtocolCrash.h create mode 100644 android/armeabi/include/anysdk/ProtocolCustom.h create mode 100644 android/armeabi/include/anysdk/ProtocolIAP.h create mode 100644 android/armeabi/include/anysdk/ProtocolPush.h create mode 100644 android/armeabi/include/anysdk/ProtocolREC.h create mode 100644 android/armeabi/include/anysdk/ProtocolShare.h create mode 100644 android/armeabi/include/anysdk/ProtocolSocial.h create mode 100644 android/armeabi/include/anysdk/ProtocolUser.h create mode 100644 android/armeabi/include/anysdk/Statistics.h create mode 100644 android/armeabi/libPluginProtocolStatic.a create mode 100644 android/x86/include/anysdk/AgentManager.h create mode 100644 android/x86/include/anysdk/JSBRelation.h create mode 100644 android/x86/include/anysdk/PluginFactory.h create mode 100644 android/x86/include/anysdk/PluginJavaData.h create mode 100644 android/x86/include/anysdk/PluginJniHelper.h create mode 100644 android/x86/include/anysdk/PluginJniMacros.h create mode 100644 android/x86/include/anysdk/PluginManager.h create mode 100644 android/x86/include/anysdk/PluginParam.h create mode 100644 android/x86/include/anysdk/PluginProtocol.h create mode 100644 android/x86/include/anysdk/PluginUtils.h create mode 100644 android/x86/include/anysdk/ProtocolAdTracking.h create mode 100644 android/x86/include/anysdk/ProtocolAds.h create mode 100644 android/x86/include/anysdk/ProtocolAnalytics.h create mode 100644 android/x86/include/anysdk/ProtocolCrash.h create mode 100644 android/x86/include/anysdk/ProtocolCustom.h create mode 100644 android/x86/include/anysdk/ProtocolIAP.h create mode 100644 android/x86/include/anysdk/ProtocolPush.h create mode 100644 android/x86/include/anysdk/ProtocolREC.h create mode 100644 android/x86/include/anysdk/ProtocolShare.h create mode 100644 android/x86/include/anysdk/ProtocolSocial.h create mode 100644 android/x86/include/anysdk/ProtocolUser.h create mode 100644 android/x86/include/anysdk/Statistics.h create mode 100644 android/x86/libPluginProtocolStatic.a create mode 100644 ios/include/anysdk/AdsUtil.h create mode 100644 ios/include/anysdk/AdsWrapper.h create mode 100644 ios/include/anysdk/AgentManager.h create mode 100644 ios/include/anysdk/AnalyticsWrapper.h create mode 100644 ios/include/anysdk/CocosRuntimeDelegate.h create mode 100644 ios/include/anysdk/CustomWrapper.h create mode 100644 ios/include/anysdk/IAPWrapper.h create mode 100644 ios/include/anysdk/InterfaceAdTracking.h create mode 100644 ios/include/anysdk/InterfaceAds.h create mode 100644 ios/include/anysdk/InterfaceAnalytics.h create mode 100644 ios/include/anysdk/InterfaceCrash.h create mode 100644 ios/include/anysdk/InterfaceCustom.h create mode 100644 ios/include/anysdk/InterfaceIAP.h create mode 100644 ios/include/anysdk/InterfacePush.h create mode 100644 ios/include/anysdk/InterfaceREC.h create mode 100644 ios/include/anysdk/InterfaceShare.h create mode 100644 ios/include/anysdk/InterfaceSocial.h create mode 100644 ios/include/anysdk/InterfaceUser.h create mode 100644 ios/include/anysdk/JSBRelation.h create mode 100644 ios/include/anysdk/JsonParser.h create mode 100644 ios/include/anysdk/PluginApplicationDelegate.h create mode 100644 ios/include/anysdk/PluginFactory.h create mode 100644 ios/include/anysdk/PluginHelper.h create mode 100644 ios/include/anysdk/PluginManager.h create mode 100644 ios/include/anysdk/PluginParam.h create mode 100644 ios/include/anysdk/PluginProtocol.h create mode 100644 ios/include/anysdk/PluginWrapper.h create mode 100644 ios/include/anysdk/ProtocolAdTracking.h create mode 100644 ios/include/anysdk/ProtocolAds.h create mode 100644 ios/include/anysdk/ProtocolAnalytics.h create mode 100644 ios/include/anysdk/ProtocolCrash.h create mode 100644 ios/include/anysdk/ProtocolCustom.h create mode 100644 ios/include/anysdk/ProtocolIAP.h create mode 100644 ios/include/anysdk/ProtocolPush.h create mode 100644 ios/include/anysdk/ProtocolREC.h create mode 100644 ios/include/anysdk/ProtocolShare.h create mode 100644 ios/include/anysdk/ProtocolSocial.h create mode 100644 ios/include/anysdk/ProtocolUser.h create mode 100644 ios/include/anysdk/PushWrapper.h create mode 100644 ios/include/anysdk/RECWrapper.h create mode 100644 ios/include/anysdk/SdkHttpListener.h create mode 100644 ios/include/anysdk/ShareWrapper.h create mode 100644 ios/include/anysdk/SocialWrapper.h create mode 100644 ios/include/anysdk/UserWrapper.h create mode 100644 ios/include/anysdk/Wrapper.h create mode 100644 ios/libs/libPluginProtocol.a diff --git a/android/arm64-v8a/include/anysdk/AgentManager.h b/android/arm64-v8a/include/anysdk/AgentManager.h new file mode 100644 index 00000000..092a9eaf --- /dev/null +++ b/android/arm64-v8a/include/anysdk/AgentManager.h @@ -0,0 +1,245 @@ +/** @file AgentManager.h + */ + + +#ifndef __CCX_AGENTMANAGER_H__ +#define __CCX_AGENTMANAGER_H__ + +#include "PluginManager.h" +#include "ProtocolIAP.h" +#include "ProtocolAnalytics.h" +#include "ProtocolShare.h" +#include "ProtocolAds.h" +#include "ProtocolSocial.h" +#include "ProtocolUser.h" +#include "ProtocolPush.h" +#include "ProtocolCrash.h" +#include "ProtocolREC.h" +#include "ProtocolCustom.h" +#include "ProtocolAdTracking.h" +#include +#include +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum { + kPluginAds = 16,/**< enum value is the type of Ads. */ + kPluginAnalytics = 1,/**< enum value is the type of Analytics. */ + kPluginIAP = 8,/**< enum value is the type of IAP. */ + kPluginShare = 2,/**< enum value is the type of Share. */ + kPluginUser = 32,/**< enum value is the type of User. */ + kPluginSocial = 4,/**< enum value is the type of Social. */ + kPluginPush = 64,/**< enum value is the type of Push. */ + kPluginCrash = 128,/**< enum value is the type of Crash. */ + kPluginCustom = 256,/**< enum value is the type of Custom. */ + kPluginREC = 512,/**< enum value is the type of REC. */ + kPluginAdTracking = 1024,/**< enum value is the type of AdTracking. */ +}Plugin_type; +/**    + *  @class  AgentManager   + */ +class AgentManager +{ +public: + virtual ~AgentManager(); + /** + @brief Get singleton of AgentManager + */ + + static AgentManager* getInstance(); + /** + @brief Destory the instance of AgentManager + */ + static void end(); + + /** + @breif the init of AgentManager + @param the appKey of anysdk + @param the appSecret of anysdk + @param the privateKey of anysdk + @param the url of oauthLoginServer + @warning Must invoke this interface before loadAllPlugins + */ + void init(std::string appKey,std::string appSecret,std::string privateKey,std::string oauthLoginServer); + + /** + @brief load the plugins + */ + CC_DEPRECATED_ATTRIBUTE void loadALLPlugin(); + /** + @brief unload the plugins + */ + CC_DEPRECATED_ATTRIBUTE void unloadALLPlugin(); + + /** + @brief load the plugins + */ + void loadAllPlugins(); + + /** + @brief unload the plugins + */ + void unloadAllPlugins(); + + /** + @brief Get Analytics plugin + @return if Analytics plugin exist ,return value is Analytics plugin. + else return value is null pointer. + */ + ProtocolAnalytics* getAnalyticsPlugin(){return _pAnalytics;}; + + /** + @brief Get User plugin + @return if User plugin exist ,return value is User plugin. + else return value is null pointer. + */ + ProtocolUser* getUserPlugin(){return _pUser;}; + + /** + @brief Get IAP plugin + @return if IAP plugin exist ,return value is IAP plugin. + else return value is null pointer. + */ + std::map* getIAPPlugin(){return &_pluginsIAPMap;}; + + /** + @brief Get Share plugin + @return if Share plugin exist ,return value is Share plugin. + else return value is null pointer. + */ + ProtocolShare* getSharePlugin(){return _pShare;}; + + /** + @brief Get Social plugin + @return if Social plugin exist ,return value is Social plugin. + else return value is null pointer. + */ + ProtocolSocial* getSocialPlugin(){return _pSocial;}; + + /** + @brief Get Ads plugin + @return if Ads plugin exist ,return value is Ads plugin. + else return value is null pointer. + */ + ProtocolAds* getAdsPlugin(){return _pAds;}; + + /** + @brief Get Push plugin + @return if Push plugin exist ,return value is Push plugin. + else return value is null pointer. + */ + ProtocolPush* getPushPlugin(){return _pPush;}; + + /** + @brief Get Crash plugin + @return if Crash plugin exist ,return value is Crash plugin. + else return value is null pointer. + */ + ProtocolCrash* getCrashPlugin(){return _pCrash;}; + + /** + @brief Get Custom plugin + @return if Crash plugin exist ,return value is Custom plugin. + else return value is null pointer. + */ + ProtocolCustom* getCustomPlugin(){return _pCustom;}; + + + /** + @brief Get REC plugin + @return if REC plugin exist ,return value is REC plugin. + else return value is null pointer. + */ + ProtocolREC* getRECPlugin(){return _pREC;}; + + /** + @brief Get AdTracking plugin + @return if AdTracking plugin exist ,return value is AdTracking plugin. + else return value is null pointer. + */ + ProtocolAdTracking* getAdTrackingPlugin(){return _pAdTracking;}; + + /** + @brief Get channel ID + @return return value is channel ID. + */ + std::string getChannelId(); + + /** + @brief Get custom param + @return return value is custom param for channel. + */ + std::string getCustomParam(); + + /** + @brief Get framework version + @return return value is the version of AnySDKFramework. + */ + std::string getFrameworkVersion(); + + /** + @Title: setIsAnaylticsEnabled + @Description: choose to open or close + @param @param enabled true or false + @return void + */ + void setIsAnaylticsEnabled(bool value){bIsAnaylticsEnabled = value;}; + /** + @Title: isAnaylticsEnabled + @Description: the status of Anayltics + @param @return true or false + @return boolean + */ + bool isAnaylticsEnabled(){return bIsAnaylticsEnabled;}; + + + void loadPlugin(const char* nodeName,int type); +protected: + void setDebugMode(bool flag); + std::string getSupportPlugin(); + void release(); + + +private: + AgentManager(void); + + // Analytics plugin + ProtocolAnalytics* _pAnalytics; + + // user plugin + ProtocolUser* _pUser; + + // IAP plugins + // ProtocolIAP* _pIAP; + std::map _pluginsIAPMap; + + // Share plugin + ProtocolShare* _pShare; + + // Social plugin + ProtocolSocial* _pSocial; + + // Ads plugin + ProtocolAds* _pAds; + + // Push plugin + ProtocolPush* _pPush; + + // Crash plugin + ProtocolCrash* _pCrash; + + // Custom plugin + ProtocolCustom* _pCustom; + + // REC plugin + ProtocolREC* _pREC; + + // AdTracking plugin + ProtocolAdTracking* _pAdTracking; + + bool bIsAnaylticsEnabled; + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_AGENTMANAGER_H__ */ diff --git a/android/arm64-v8a/include/anysdk/JSBRelation.h b/android/arm64-v8a/include/anysdk/JSBRelation.h new file mode 100644 index 00000000..7775b0dc --- /dev/null +++ b/android/arm64-v8a/include/anysdk/JSBRelation.h @@ -0,0 +1,31 @@ +/** @file JSBRelation.h + */ +#ifndef __CCX_JSBRELATION_H__ +#define __CCX_JSBRELATION_H__ + +#include "PluginProtocol.h" +#include +#include +#include + +using namespace std; + +namespace anysdk { namespace framework { + +/**    + *  @class  JSBRelation   + */ +class JSBRelation +{ +public: + static string getMethodsOfPlugin(PluginProtocol* plugin); + + + + +private: +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_JSBRELATION_H__ */ diff --git a/android/arm64-v8a/include/anysdk/PluginFactory.h b/android/arm64-v8a/include/anysdk/PluginFactory.h new file mode 100644 index 00000000..79922c97 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginFactory.h @@ -0,0 +1,41 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGIN_FACTORY_H__ +#define __CCX_PLUGIN_FACTORY_H__ + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginManager; +/**    + *  @class  PluginFactory   + */ +class PluginFactory +{ +public: + virtual ~PluginFactory(); + /** + @brief Get singleton of PluginFactory + */ + static PluginFactory* getInstance(); + + /** + @brief Destory the instance of PluginFactory + */ + static void purgeFactory(); + +private: + friend class PluginManager; + PluginFactory(void); + + /** + @brief create the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* createPlugin(const char* name, int pluginType); +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_FACTORY_H__ */ diff --git a/android/arm64-v8a/include/anysdk/PluginJavaData.h b/android/arm64-v8a/include/anysdk/PluginJavaData.h new file mode 100644 index 00000000..bd37b745 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginJavaData.h @@ -0,0 +1,17 @@ +#ifndef __PLUGIN_JAVA_DATA_H__ +#define __PLUGIN_JAVA_DATA_H__ + +#include +#include + +namespace anysdk { namespace framework { + +typedef struct _PluginJavaData_ +{ + jobject jobj; + std::string jclassName; +} PluginJavaData; + +}} //namespace anysdk { namespace framework { + +#endif // __PLUGIN_JAVA_DATA_H__ diff --git a/android/arm64-v8a/include/anysdk/PluginJniHelper.h b/android/arm64-v8a/include/anysdk/PluginJniHelper.h new file mode 100644 index 00000000..82981907 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginJniHelper.h @@ -0,0 +1,43 @@ +#ifndef __PLUGIN_JNI_HELPER_H__ +#define __PLUGIN_JNI_HELPER_H__ + +#include +#include + +namespace anysdk {namespace framework{ + +typedef struct PluginJniMethodInfo_ +{ + JNIEnv * env; + jclass classID; + jmethodID methodID; +} PluginJniMethodInfo; + +class PluginJniHelper +{ +public: + static JavaVM* getJavaVM(); + static void setJavaVM(JavaVM *javaVM); + static JNIEnv* getEnv(); + + static bool getStaticMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static bool getMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static std::string jstring2string(jstring jstr); + static jstring newStringUTF(JNIEnv* env, const std::string& utf8Str); + + static bool setClassLoaderFrom(jobject nativeActivityInstance); + + static jmethodID loadclassMethod_methodID; + static jobject classloader; + +private: + static JavaVM *_psJavaVM; + static bool getMethodInfo_DefaultClassLoader(PluginJniMethodInfo &methodinfo, + const char *className, + const char *methodName, + const char *paramCode); +}; + +}} + +#endif // __PLUGIN_JNI_HELPER_H__ diff --git a/android/arm64-v8a/include/anysdk/PluginJniMacros.h b/android/arm64-v8a/include/anysdk/PluginJniMacros.h new file mode 100644 index 00000000..eace0d9a --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginJniMacros.h @@ -0,0 +1,156 @@ +#ifndef __PLUGIN_JNI_MACROS_H__ +#define __PLUGIN_JNI_MACROS_H__ + +#define return_if_fails(cond) if (!(cond)) return; +#define return_val_if_fails(cond, ret) if(!(cond)) return (ret); + +#define CALL_BASERET_JAVA_FUNC_WITH_PARAM(retType, paramCode, param, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID, param); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_BASERET_JAVA_FUNC(retType, paramCode, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_JAVA_FUNC_WITH_VALIST(retCode) \ +std::vector allParams; \ +if (NULL != param) \ +{ \ + allParams.push_back(param); \ + \ + va_list argp; \ + PluginParam* pArg = NULL; \ + va_start( argp, param ); \ + while (1) \ + { \ + pArg = va_arg(argp, PluginParam*); \ + if (pArg == NULL) \ + break; \ + \ + allParams.push_back(pArg); \ + } \ + va_end(argp); \ +} \ + \ +return call##retCode##FuncWithParam(funcName, allParams); \ + + +#define CALL_JAVA_FUNC(retType, retCode, defaultRet, jRetCode) \ +retType ret = defaultRet; \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(this); \ +if (NULL == pData) { \ + PluginUtils::outputLog(ANDROID_LOG_ERROR, "PluginProtocol", "Can't find java data for plugin : %s", this->getPluginName()); \ + return ret; \ +} \ + \ +std::string paramCode; \ +int nParamNum = params.size(); \ +if (0 == nParamNum) \ +{ \ + paramCode = "()"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName(this, funcName); \ +} else \ +{ \ + PluginParam* pRetParam = NULL; \ + bool needDel = false; \ + if (nParamNum == 1) { \ + pRetParam = params[0]; \ + } else { \ + std::map allParams; \ + for (int i = 0; i < nParamNum; i++) \ + { \ + PluginParam* pArg = params[i]; \ + if (pArg == NULL) \ + { \ + break; \ + } \ + \ + char strKey[8] = { 0 }; \ + sprintf(strKey, "Param%d", i + 1); \ + allParams[strKey] = pArg; \ + } \ + \ + pRetParam = new PluginParam(allParams); \ + needDel = true; \ + } \ + \ + switch(pRetParam->getCurrentType()) \ + { \ + case PluginParam::kParamTypeInt: \ + paramCode = "(I)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getIntValue()); \ + break; \ + case PluginParam::kParamTypeFloat: \ + paramCode = "(F)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getFloatValue()); \ + break; \ + case PluginParam::kParamTypeBool: \ + paramCode = "(Z)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getBoolValue()); \ + break; \ + case PluginParam::kParamTypeString: \ + { \ + jstring jstr = PluginJniHelper::newStringUTF(PluginUtils::getEnv(), pRetParam->getStringValue()); \ + paramCode = "(Ljava/lang/String;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jstr); \ + PluginUtils::getEnv()->DeleteLocalRef(jstr); \ + } \ + break; \ + case PluginParam::kParamTypeStringMap: \ + case PluginParam::kParamTypeMap: \ + { \ + jobject jMap = PluginUtils::getJObjFromParam(pRetParam); \ + paramCode = "(Lorg/json/JSONObject;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jMap); \ + PluginUtils::getEnv()->DeleteLocalRef(jMap); \ + } \ + break; \ + default: \ + break; \ + } \ + \ + if (needDel && pRetParam != NULL) \ + { \ + delete pRetParam; \ + pRetParam = NULL; \ + } \ +} \ +return ret; \ + + +#endif // __PLUGIN_JNI_MACROS_H__ diff --git a/android/arm64-v8a/include/anysdk/PluginManager.h b/android/arm64-v8a/include/anysdk/PluginManager.h new file mode 100644 index 00000000..93282ae7 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginManager.h @@ -0,0 +1,51 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGINMANAGER_H__ +#define __CCX_PLUGINMANAGER_H__ + +#include "PluginProtocol.h" +#include "PluginFactory.h" +#include +#include + +namespace anysdk { namespace framework { + +/**    + *  @class  PluginManager   + */ +class PluginManager +{ +public: + virtual ~PluginManager(); + /** + @brief Get singleton of PluginManager + */ + static PluginManager* getInstance(); + /** + @brief Destory the instance of PluginManager + */ + static void end(); + + /** + @brief load the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* loadPlugin(const char* name, int pluginType); + /** + @brief unload the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + void unloadPlugin(const char* name, int pluginType = 0); + + +private: + PluginManager(void); + std::map _pluginsMap; +// bool _isDebug; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGINMANAGER_H__ */ diff --git a/android/arm64-v8a/include/anysdk/PluginParam.h b/android/arm64-v8a/include/anysdk/PluginParam.h new file mode 100644 index 00000000..1f35d4a7 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginParam.h @@ -0,0 +1,126 @@ +/** @file PluginParam.h + */ +#ifndef __CCX_PLUGIN_PARAM_H__ +#define __CCX_PLUGIN_PARAM_H__ + +#include +#include +/// \typedef std::map StringMap +/// typedef YString. +typedef std::map StringMap; + +namespace anysdk { namespace framework { + +class PluginProtocol; +/**    + *  @class  PluginParam   + */ +class PluginParam +{ +public: + /** + @brief the default constructor of PluginParam + */ + PluginParam(); + + virtual ~PluginParam(); + /** + @brief the constructor of PluginParam + @param the value is Integer + */ + PluginParam(int nValue); + /** + @brief the constructor of PluginParam + @param the value is float + */ + PluginParam(float fValue); + /** + @brief the constructor of PluginParam + @param the value is boolean + */ + PluginParam(bool bValue); + /** + @brief the default constructor of PluginParam + @param the value is char + */ + PluginParam(const char* strValue); + /** + @brief the default constructor of PluginParam + @param the value is StringMap + */ + PluginParam(StringMap strMapValue); + + typedef enum{ + kParamTypeNull = 0, + kParamTypeInt, + kParamTypeFloat, + kParamTypeBool, + kParamTypeString, + kParamTypeStringMap, + kParamTypeMap, + } ParamType; + /** + @brief get the ParamType of value + */ + inline ParamType getCurrentType() { + return _type; + } + /** + @brief get the int value + */ + inline int getIntValue() { + return _intValue; + } + /** + @brief get the float value + */ + inline float getFloatValue() { + return _floatValue; + } + /** + @brief get the boolean value + */ + inline bool getBoolValue() { + return _boolValue; + } + /** + @brief get the char value + */ + inline const char* getStringValue() { + return _strValue.c_str(); + } + /** + @brief get the map of value + */ + inline std::map getMapValue() { + return _mapValue; + } + /** + @brief get the StringMap value + */ + inline StringMap getStrMapValue() { + return _strMapValue; + } + +private: + friend class PluginProtocol; + /** + @brief the constructor of PluginParam + @param the map of value + */ + PluginParam(std::map mapValue); + +private: + ParamType _type; + + int _intValue; + float _floatValue; + bool _boolValue; + std::string _strValue; + std::map _mapValue; + StringMap _strMapValue; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_PARAM_H__ */ diff --git a/android/arm64-v8a/include/anysdk/PluginProtocol.h b/android/arm64-v8a/include/anysdk/PluginProtocol.h new file mode 100644 index 00000000..95cf706d --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginProtocol.h @@ -0,0 +1,144 @@ +/** @file PluginProtocol.h + */ +#ifndef __CCX_IPLUGIN_H__ +#define __CCX_IPLUGIN_H__ + +#include "PluginParam.h" +#include + +#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) +#define CC_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#elif _MSC_VER >= 1400 //vs 2005 or higher +#define CC_DEPRECATED_ATTRIBUTE __declspec(deprecated) +#else +#define CC_DEPRECATED_ATTRIBUTE +#endif + +namespace anysdk { namespace framework { + +/** + * @class PluginProtocol + * @brief The super class for all plugins. + */ +class PluginProtocol +{ +public: + virtual ~PluginProtocol() {}; + + /** + *@brief set plugin name + *@param the name of plugin + */ + virtual void setPluginName(const char* name) = 0 ; + /** + *@brief get plugin name + *@return the name of plugin + */ + virtual const char* getPluginName() = 0 ; + + /** + *@brief get the version of plugin + *@return the version of plugin + */ + virtual std::string getPluginVersion(); + /** + *@brief get the version of sdk + *@return the version of sdk + */ + virtual std::string getSDKVersion(); + + /** + *@brief switch debug plug-in on/off + *@param the value of on/off + */ + CC_DEPRECATED_ATTRIBUTE virtual void setDebugMode(bool bDebug); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return void + */ + virtual void callFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return void + */ + virtual void callFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, std::vector params); + + /** + @brief Check function the plugin support or not + @param the name of plugin + @return if the function support ,return true + else retur false + */ + virtual bool isFunctionSupported(std::string functionName); + + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_IPLUGIN_H__ */ diff --git a/android/arm64-v8a/include/anysdk/PluginUtils.h b/android/arm64-v8a/include/anysdk/PluginUtils.h new file mode 100644 index 00000000..3742c161 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/PluginUtils.h @@ -0,0 +1,157 @@ +#ifndef __PLUGIN_UTILS_H__ +#define __PLUGIN_UTILS_H__ + +#include "PluginJniHelper.h" +#include "PluginJavaData.h" +#include +#include +#include "PluginParam.h" +#include "PluginJniMacros.h" +#include +//#include + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginUtils +{ +public: +//cjh static void initPluginWrapper(android_app* app); + static jobject createJavaMapObject(std::map* paramMap); + static jobject createJavaListObject(std::list* paramList); + static void initJavaPlugin(PluginProtocol* pPlugin, jobject jObj, const char* className, int type); + static JNIEnv* getEnv(); + + static PluginJavaData* getPluginJavaData(PluginProtocol* pKeyObj); + static void setPluginJavaData(PluginProtocol* pKeyObj, PluginJavaData* pData, int type); + static void erasePluginJavaData(PluginProtocol* pKeyObj,int type); + static void erasePluginJavaData(std::string key); + + static PluginProtocol* getPluginPtr(std::string className); + + static jobject getJObjFromParam(PluginParam* param); + + // methods have no return value + template + static void callJavaFunctionWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + return_if_fails(paramCode != NULL && strlen(paramCode) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + t.env->CallVoidMethod(pData->jobj, t.methodID, param); + t.env->DeleteLocalRef(t.classID); + } + } + static void callJavaFunctionWithName(PluginProtocol* thiz, const char* funcName) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()V")) + { + t.env->CallVoidMethod(pData->jobj, t.methodID); + t.env->DeleteLocalRef(t.classID); + } + } + + // methods return value is string + template + static std::string callJavaStringFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + jstring strRet = (jstring)t.env->CallObjectMethod(pData->jobj, t.methodID, param); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + static std::string callJavaStringFuncWithName(PluginProtocol* thiz, const char* funcName) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()Ljava/lang/String;")) + { + jstring strRet = (jstring) t.env->CallObjectMethod(pData->jobj, t.methodID); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + + // methods return value is int + template + static int callJavaIntFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(int, paramCode, param, Int, 0) + } + static int callJavaIntFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(int, "()I", Int, 0) + } + + // methods return value is float + template + static float callJavaFloatFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(float, paramCode, param, Float, 0.0f) + } + static float callJavaFloatFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(float, "()F", Float, 0.0f); + } + + // methods return value is bool + template + static bool callJavaBoolFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(bool, paramCode, param, Boolean, false) + } + static bool callJavaBoolFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(bool, "()Z", Boolean, false) + } + + static void callJavaFunctionWithName_string_map(PluginProtocol* thiz, const char* funcName, const char* keyParam, std::map* paramMap); + + static void outputLog(int type, const char* logTag, const char* pFormat, ...); + static void output(int type, const char* logTag, const char* contents); + + static void resetLogLevel(); +private: + static std::string _logLevel; +}; + +}} // namespace anysdk { namespace framework { + +#endif //__PLUGIN_UTILS_H__ diff --git a/android/arm64-v8a/include/anysdk/ProtocolAdTracking.h b/android/arm64-v8a/include/anysdk/ProtocolAdTracking.h new file mode 100644 index 00000000..6fc557a2 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolAdTracking.h @@ -0,0 +1,58 @@ +/** @file ProtocolAdTracking.h + */ +#ifndef __CCX_PROTOCOL_ADTRACKING_H__ +#define __CCX_PROTOCOL_ADTRACKING_H__ + +#include "PluginProtocol.h" +#include +namespace anysdk { namespace framework { +/**    + *@class  ProtocolAdTracking + *@brief the interface of AdTracking   + */ +class ProtocolAdTracking : public PluginProtocol +{ +public: + + /** + * + * @Title: onRegister + * @Description: Call this method if you want to track register events as happening during a section. + * @param userId user identifier + * @return void + */ + virtual void onRegister(const char* userId) = 0; + + /** + * + * @Title: onLogin + * @Description:Call this method if you want to track login events as happening during a section. + * @param userInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onLogin(std::map userInfo) = 0; + + /** + * + * @Title: onPay + * @Description: Call this method if you want to track pay events as happening during a section. + * @param productInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onPay(std::map productInfo) = 0; + + /** + * + * @Title: trackEvent + * @Description: Call this method if you want to track custom events with parameters as happening during a section. + * @param eventId The custom event name. + * @param paramMap The details of this parameters are already covered by document. + */ + virtual void trackEvent(const char* eventId, std::map* paramMap = NULL) = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_ADTRACKING_H__ ----- */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolAds.h b/android/arm64-v8a/include/anysdk/ProtocolAds.h new file mode 100644 index 00000000..8e29987f --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolAds.h @@ -0,0 +1,133 @@ +/** @file ProtocolAds.h + */ +#ifndef __CCX_PROTOCOL_ADS_H__ +#define __CCX_PROTOCOL_ADS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TAdsDeveloperInfo +/// typedef TAdsDeveloperInfo. +typedef std::map TAdsDeveloperInfo; +/// \typedef std::map TAdsInfo +/// typedef TAdsInfo. +typedef std::map TAdsInfo; +/** @brief AdsResultCode enum, with inline docs */ +typedef enum +{ + kAdsReceived = 0, /**< enum the callback: the ad is received is at center. */ + + kAdsShown, /**< enum the callback: the advertisement dismissed. */ + kAdsDismissed, /**< enum the callback: the advertisement dismissed. */ + + kPointsSpendSucceed, /**< enum the callback: the points spend succeed. */ + kPointsSpendFailed, /**< enum the callback: the points spend failed. */ + + kNetworkError, /**< enum the callback of Network error at center. */ + kUnknownError, /**< enum the callback of Unknown error. */ + kOfferWallOnPointsChanged, /**< enum the callback of Changing the point of offerwall. */ + kRewardedVideoWithReward,/**< enum the callback of receiving the reward of rewardedvideo. */ + kInAppPurchaseFinished,/**< enum the callback of finishing IAP ad. */ + kAdsClicked,/**< enum the callback of the advertisement clicked. */ + kAdsExtension = 40000 /**< enum value is extension code . */ +} AdsResultCode; +/** @brief AdsPos enum, with inline docs */ +typedef enum { + kPosCenter = 0,/**< enum the toolbar is at center. */ + kPosTop,/**< enum the toolbar is at top. */ + kPosTopLeft,/**< enum the toolbar is at topleft. */ + kPosTopRight,/**< enum the toolbar is at topright. */ + kPosBottom,/**< enum the toolbar is at bottom. */ + kPosBottomLeft,/**< enum the toolbar is at bottomleft. */ + kPosBottomRight,/**< enum the toolbar is at bottomright. */ +} AdsPos; +/** @brief AdsType enum, with inline docs */ +typedef enum { + AD_TYPE_BANNER = 0,/**< enum value is banner ads . */ + AD_TYPE_FULLSCREEN,/**< enum value is fullscreen ads . */ + AD_TYPE_MOREAPP,/**< enum value is moreapp ads . */ + AD_TYPE_OFFERWALL,/**< enum value is offerwall ads . */ + AD_TYPE_REWARDEDVIDEO,/**< enum value is rewarded video ads . */ + AD_TYPE_NATIVEEXPRESS,/**< enum value is Native express ads . */ + AD_TYPE_NATIVEADVANCED,/**< enum value is Native advanced ads . */ +} AdsType; + +class ProtocolAds; +class AdsListener +{ +public: + /** + *@brief The advertisement request result + *@param the id of callback + *@param the information of callback + */ + virtual void onAdsResult(AdsResultCode code, const char* msg) = 0; +}; + +class ProtocolAds : public PluginProtocol +{ +public: + + + + /** + @brief show adview + @param the type of ads + @param the idx of ads + */ + virtual void showAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief Hide the adview + @param the type of ads + @param the idx of ads + */ + virtual void hideAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief preload the adview + @param the type of ads + @param the idx of ads + */ + virtual void preloadAds(AdsType adsType, int idx = 1)= 0; + + /** + *@brief Query the points of player + *@return the point + */ + virtual float queryPoints() = 0; + + /** + *@brief Spend the points. + Use this method to notify server spend points. + *@param points Need spend number of points + */ + virtual void spendPoints(int points) = 0; + + /** + @brief set the Ads listener + @param pListener The callback object for Ads result + */ + virtual void setAdsListener(AdsListener* listener) = 0; + + /** + @brief get pListener The callback object for Ads result + @return the listener + */ + virtual AdsListener* getAdsListener() = 0; + + /** + @brief Is it supportive of this type of ads + @param the type of ads + @return if it is supportive ,return true + else retur false + */ + virtual bool isAdTypeSupported(AdsType adType) = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_ADS_H__ */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolAnalytics.h b/android/arm64-v8a/include/anysdk/ProtocolAnalytics.h new file mode 100644 index 00000000..ce3372d6 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolAnalytics.h @@ -0,0 +1,107 @@ +/** @file ProtocolAnalytics.h + */ +#ifndef __CCX_PROTOCOL_ANALYTICS_H__ +#define __CCX_PROTOCOL_ANALYTICS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map LogEventParamPair +/// typedef LogEventParamPair. +typedef std::pair< std::string, std::string > LogEventParamPair; +/// \typedef std::map LogEventParamMap +/// typedef LogEventParamMap. +typedef std::map< std::string, std::string > LogEventParamMap; +typedef enum { + ANONYMOUS,/**< enum value is anonymous typek. */ + REGISTED,/**< enum value is registed type. */ + SINA_WEIBO,/**< enum value is sineweibo type. */ + TENCENT_WEIBO,/**< enum value is tecentweibo type */ + QQ,/**< enum value is qq type */ + ND91,/**< enum value is nd91 type. */ +} AccountType; +typedef enum { + LOGIN,/**< enum value is the login operate. */ + LOGOUT,/**< enum value is the logout operate. */ + REGISTER,/**< enum value is the register operate. */ +} AccountOperate; +typedef enum { + MALE,/**< enum value is male. */ + FEMALE,/**< enum value is female. */ + UNKNOWN,/**< enum value is unknow. */ + +} AccountGender; +typedef enum { + GUIDE_LINE,/**< enum value is the guideline type.. */ + MAIN_LINE,/**< enum value is the mainline type.. */ + BRANCH_LINE,/** +#include + +namespace anysdk { namespace framework { + +class ProtocolCrash : public PluginProtocol +{ +public: + /** + * set user identifier + * + * @param userInfo + */ + virtual void setUserIdentifier(const char* identifier) = 0; + + /** + * The uploader captured in exception information + * + * @param message Set the custom information + * @param exception The exception + */ + virtual void reportException(const char* message, const char* exception) = 0; + + /** + * customize logging + * + * @param string Custom log + */ + virtual void leaveBreadcrumb(const char* breadcrumb) = 0; + + + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_CRASH_H__ */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolCustom.h b/android/arm64-v8a/include/anysdk/ProtocolCustom.h new file mode 100644 index 00000000..dc92558e --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolCustom.h @@ -0,0 +1,50 @@ +/** @file ProtocolCustom.h + */ +#ifndef __CCX_PROTOCOL_CUSTOM_H__ +#define __CCX_PROTOCOL_CUSTOM_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +typedef enum +{ + kCustomExtension = 80000 /**< enum value is extension code . */ +} CustomResultCode; +/**    + *@class  CustomResultListener + *@brief the interface of share callback   + */ +class CustomResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onCustomResult(CustomResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolCustom + *@brief the interface of custom   + */ +class ProtocolCustom : public PluginProtocol +{ +public: + + /** + @breif set the result listener + @param pListener The callback object for custom result + @wraning Must invoke this interface before custom + */ + virtual void setResultListener(CustomResultListener* pListener) = 0; + + virtual CustomResultListener* getCustomListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_Custom_H__ ----- */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolIAP.h b/android/arm64-v8a/include/anysdk/ProtocolIAP.h new file mode 100644 index 00000000..4a875b32 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolIAP.h @@ -0,0 +1,119 @@ +/** @file ProtocolIAP.h + */ +#ifndef __CCX_PROTOCOL_IAP_H__ +#define __CCX_PROTOCOL_IAP_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TIAPDeveloperInfo +/// typedef TIAPDeveloperInfo. +typedef std::map TIAPDeveloperInfo; +/// \typedef std::map TProductInfo +/// typedef TProductInfo. +typedef std::map TProductInfo; +/// typedef TProductsInfo. +typedef std::map AllProductsInfo; +/** @brief PayResultCode enum, with inline docs */ +typedef enum +{ + kPaySuccess = 0,/**< enum value is callback of succeeding in paying . */ + kPayFail,/**< enum value is callback of failing to pay . */ + kPayCancel,/**< enum value is callback of canceling to pay . */ + kPayNetworkError,/**< enum value is callback of network error . */ + kPayProductionInforIncomplete,/**< enum value is callback of incompleting info . */ + kPayInitSuccess,/**< enum value is callback of succeeding in initing sdk . */ + kPayInitFail,/**< enum value is callback of failing to init sdk . */ + kPayNowPaying,/**< enum value is callback of paying now . */ + kPayRechargeSuccess,/**< enum value is callback of succeeding in recharging. */ + kPayExtension = 30000 /**< enum value is extension code . */ +} PayResultCode; +/** @brief RequestResultCode enum, with inline docs */ +typedef enum +{ + kRequestSuccess = 31000,/**< enum value is callback of succeeding in paying . */ + kRequestFail/**< enum value is callback of failing to pay . */ +} RequestResultCode; +/**    + *@class  PayResultListener + *@brief the interface of pay callback   + */ +class PayResultListener +{ +public: + /**    + *@brief the interface of pay callback  + *@param the id of callback + *@param the information of callback + *@param the info of pay + */ + virtual void onPayResult(PayResultCode ret, const char* msg, TProductInfo info) = 0; + /** + *@brief the interface of request callback + *@param the id of callback + *@param the information of callback + *@param the info of request product + */ + virtual void onRequestResult(RequestResultCode ret, const char* msg, AllProductsInfo info) {} +}; +/**    + *@class  ProtocolIAP + *@brief the interface of pay    + */ + +class ProtocolIAP : public PluginProtocol +{ +public: + + /** + @brief pay for product + @param info The info of product, must contains key: + productName The name of product + productPrice The price of product(must can be parse to float) + 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) = 0; + /** + @brief get order id + @return the order id + */ + virtual std::string getOrderId() = 0; + + /** + @breif set the result listener + @param pListener The callback object for pay result + @wraning Must invoke this interface before payForProduct. + */ + virtual void setResultListener(PayResultListener* pListener) = 0; + + virtual PayResultListener* getPayListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + /** + @brief change the state of paying + @param the state + */ + + static void resetPayState() + { + _paying = false; + } + static bool _paying; + + + +}; + + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_IAP_H__ */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolPush.h b/android/arm64-v8a/include/anysdk/ProtocolPush.h new file mode 100644 index 00000000..e9e2fac8 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolPush.h @@ -0,0 +1,104 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PROTOCOL_PUSH_H__ +#define __CCX_PROTOCOL_PUSH_H__ + +#include "PluginProtocol.h" +#include +#include +#include +using namespace std; + +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kPushReceiveMessage = 0,/**value is callback of Receiving Message . */ + kPushExtensionCode = 60000 /**< enum value is extension code . */ + + +} PushActionResultCode; +class ProtocolPush; +/**    + *@class  PushActionListener + *@brief the interface of Push callback   + */ +class PushActionListener +{ +public: + /**    + *@brief the interface of Push callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolPush* pPlugin, PushActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolPush   + */ +class ProtocolPush : public PluginProtocol +{ +public: + + + /** + *@brief start/register Push services + *@return void + */ + virtual void startPush() = 0 ; + + + /** + *@brief close Push services + *@return void + */ + virtual void closePush() = 0 ; + + + /** + *@brief set alias + *@param tags + *@return void + */ + virtual void setAlias(string alias) = 0; + + /** + *@brief del alias + *@param tags + *@return void + */ + virtual void delAlias(string alias) = 0; + + /** + *@brief set tag + *@param tags + *@return void + */ + virtual void setTags(list tags) = 0; + + /** + *@brief delete tag + *@param tags + *@return void + */ + virtual void delTags(list tags) = 0; + + /** + @brief set the result listener + @param pListener The callback object for push result + */ + virtual void setActionListener(PushActionListener* listener) = 0 ; + + /** + @brief get pListener The callback object for Push result + @return the listener + */ + virtual PushActionListener* getActionListener() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_PUSH_H__ */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolREC.h b/android/arm64-v8a/include/anysdk/ProtocolREC.h new file mode 100644 index 00000000..b0db2c0d --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolREC.h @@ -0,0 +1,83 @@ +/** @file ProtocolREC.h + */ +#ifndef __CCX_PROTOCOL_REC_H__ +#define __CCX_PROTOCOL_REC_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { + +typedef std::map TVideoInfo; + +/** @brief RECResultCode enum, with inline docs */ +typedef enum +{ + kRECInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk . */ + kRECInitFail,/**< enum value is callback of failing to init sdk. */ + kRECStartRecording,/**< enum value is callback of starting to record. */ + kRECStopRecording,/**< enum value is callback of stoping to record. */ + kRECPauseRecording,/**< enum value is callback of pausing to record. */ + kRECResumeRecording,/**< enum value is callback of resuming to record. */ + kRECEnterSDKPage,/**< enum value is callback of entering SDK`s page. */ + kRECQuitSDKPage,/**< enum value is callback of quiting SDK`s page. */ + kRECShareSuccess,/**< enum value is callback of succeeding in sharing. */ + kRECShareFail,/**< enum value is callback of failing to share. */ + kRECExtension = 90000 /**< enum value is extension code . */ +} RECResultCode; +/**    + *@class  RECResultListener + *@brief the interface of REC callback   + */ +class RECResultListener +{ +public: + /**    + *@brief the interface of REC callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onRECResult(RECResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolREC + *@brief the interface of REC   + */ +class ProtocolREC : public PluginProtocol +{ +public: + + /** + * @Description: Start to record video + */ + virtual void startRecording() = 0; + + /** + * @Description: Stop to record video + */ + virtual void stopRecording() = 0; + + /** + * @Description: share video + * @Param info The info of share + */ + virtual void share(TVideoInfo info) = 0; + + + + /** + @breif set the result listener + @param pListener The callback object for REC result + @wraning Must invoke this interface before REC + */ + virtual void setResultListener(RECResultListener* pListener) = 0; + + virtual RECResultListener* getRECListener() = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolShare.h b/android/arm64-v8a/include/anysdk/ProtocolShare.h new file mode 100644 index 00000000..2215a4ff --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolShare.h @@ -0,0 +1,72 @@ +/** @file ProtocolShare.h + */ +#ifndef __CCX_PROTOCOL_SHARE_H__ +#define __CCX_PROTOCOL_SHARE_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TShareDeveloperInfo +/// typedef TShareDeveloperInfo. +typedef std::map TShareDeveloperInfo; +/// \typedef std::map TShareInfo +/// typedef TShareInfo. +typedef std::map TShareInfo; +/** @brief ShareResultCode enum, with inline docs */ +typedef enum +{ + kShareSuccess = 0,/**< enum value is callback of failing to sharing . */ + kShareFail,/**< enum value is callback of failing to share . */ + kShareCancel,/**< enum value is callback of canceling to share . */ + kShareNetworkError,/**< enum value is callback of network error . */ + kShareExtension = 10000 /**< enum value is extension code . */ +} ShareResultCode; +/**    + *@class  ShareResultListener + *@brief the interface of share callback   + */ +class ShareResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onShareResult(ShareResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolShare + *@brief the interface of share   + */ +class ProtocolShare : public PluginProtocol +{ +public: + + + + /** + @brief share information + @param info The info of share, contains key: + SharedText The text need to share + SharedImagePath The full path of image file need to share (optinal) + @warning For different plugin, the parameter should have other keys to share. + Look at the manual of plugins. */ + virtual void share(TShareInfo info) = 0; + + /** + @breif set the result listener + @param pListener The callback object for share result + @wraning Must invoke this interface before share + */ + virtual void setResultListener(ShareResultListener* pListener) = 0; + + virtual ShareResultListener* getShareListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolSocial.h b/android/arm64-v8a/include/anysdk/ProtocolSocial.h new file mode 100644 index 00000000..3fa5639b --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolSocial.h @@ -0,0 +1,105 @@ +/** @file ProtocolSocial.h + */ +#ifndef __CCX_PROTOCOL_SOCIAL_H__ +#define __CCX_PROTOCOL_SOCIAL_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TSocialDeveloperInfo +/// typedef TSocialDeveloperInfo. +typedef std::map TSocialDeveloperInfo; +/// \typedef std::map TAchievementInfo +/// typedef TAchievementInfo. +typedef std::map TAchievementInfo; +/** @brief SocialRetCode enum, with inline docs */ +typedef enum +{ + // code for leaderboard feature + kScoreSubmitSucceed =1,/**< enum value is callback of succeeding in submiting. */ + kScoreSubmitfail,/**< enum value is callback of failing to submit . */ + + // code for achievement feature + kAchUnlockSucceed,/**< enum value is callback of succeeding in unlocking. */ + kAchUnlockFail,/**< enum value is callback of failing to unlock. */ + + kSocialSignInSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignInFail,/**< enum value is callback of failing to login. */ + + kSocialSignOutSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignOutFail,/**< enum value is callback of failing to login. */ + kSocialGetGameFriends,/**< enum value is callback of getGameFriends. */ + kSocialExtensionCode = 20000 /**< enum value is extension code . */ + +} SocialRetCode; +/**    + *@class  SocialListener + *@brief the interface of social callback   + */ +class SocialListener +{ +public: + /**    + *@brief the interface of social callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onSocialResult(SocialRetCode code, const char* msg) = 0; +}; + +/**    + *@class  ProtocolSocial + *@brief the interface of social   + */ +class ProtocolSocial : public PluginProtocol +{ +public: + + /** + @brief user signIn + */ + virtual void signIn() = 0; + + /** + @brief user signOut + */ + virtual void signOut() = 0; + + /** + @brief submit the score + @param leaderboardID + @param the score + */ + virtual void submitScore(const char* leadboardID, long score) = 0; + /** + @brief show the id of Leaderboard page + @param leaderboardID + */ + virtual void showLeaderboard(const char* leaderboardID) = 0; + + /** + @brief methods of achievement feature + @param the info of achievement + */ + virtual void unlockAchievement(TAchievementInfo achInfo) = 0; + /** + @brief show the page of achievements + */ + virtual void showAchievements() = 0; + /** + @brief set pListener The callback object for social result + @param the listener + */ + virtual void setListener(SocialListener* listener) = 0; + /** + @brief get pListener The callback object for social result + @return the listener + */ + virtual SocialListener* getListener() = 0; +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SOCIAL_H__ ----- */ diff --git a/android/arm64-v8a/include/anysdk/ProtocolUser.h b/android/arm64-v8a/include/anysdk/ProtocolUser.h new file mode 100644 index 00000000..14752215 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/ProtocolUser.h @@ -0,0 +1,134 @@ +/** @file ProtocolUser.h + */ +#ifndef __CCX_PROTOCOL_USER_H__ +#define __CCX_PROTOCOL_USER_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TUserDeveloperInfo +/// typedef TUserDeveloperInfo. +typedef std::map TUserDeveloperInfo; +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk. */ + kInitFail,/**< enum value is callback of failing to init sdk. */ + kLoginSuccess,/**< enum value is callback of succeeding in login.*/ + kLoginNetworkError,/**< enum value is callback of network error*/ + kLoginNoNeed,/**< enum value is callback of no need login.*/ + kLoginFail,/**< enum value is callback of failing to login. */ + kLoginCancel,/**< enum value is callback of canceling to login. */ + kLogoutSuccess,/**< enum value is callback of succeeding in logout. */ + kLogoutFail,/**< enum value is callback of failing to logout. */ + kPlatformEnter,/**< enum value is callback after enter platform. */ + kPlatformBack,/**< enum value is callback after exit antiAddiction. */ + kPausePage,/**< enum value is callback after exit pause page. */ + kExitPage,/**< enum value is callback after exit exit page. */ + kAntiAddictionQuery,/**< enum value is callback after querying antiAddiction. */ + kRealNameRegister,/**< enum value is callback after registering realname. */ + kAccountSwitchSuccess,/**< enum value is callback of succeeding in switching account. */ + kAccountSwitchFail,/**< enum value is callback of failing to switch account. */ + kOpenShop,/**< enum value is callback of open the shop. */ + kAccountSwitchCancel,/**< enum value is callback of canceling to switch account. */ + kUserExtension = 50000 /**< enum value is extension code . */ + + +} UserActionResultCode; +/** @brief ToolBarPlace enum, with inline docs */ +typedef enum +{ + kToolBarTopLeft = 1,/**< enum the toolbar is at topleft. */ + kToolBarTopRight,/**< enum the toolbar is at topright. */ + kToolBarMidLeft,/**< enum the toolbar is at midleft. */ + kToolBarMidRight,/**< enum the toolbar is at midright. */ + kToolBarBottomLeft,/**< enum the toolbar is at bottomleft. */ + kToolBarBottomRight,/**< enum the toolbar is at bottomright. */ +} ToolBarPlace; + +class ProtocolUser; +/**    + *@class  UserActionListener + *@brief the interface of user callback   + */ +class UserActionListener +{ +public: + /**    + *@brief the interface of user callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolUser* pPlugin, UserActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolUser   + */ +class ProtocolUser : public PluginProtocol +{ +public: + + + /** + @brief User login + */ + virtual void login() = 0 ; + + /** + @brief User login + if the process of logining need to know the param of server_id , + you can use the function + and if you must change oauthloginserver, you can add the param of oauthLoginServer + @param server_id + @param oauthLoginServer + */ + + CC_DEPRECATED_ATTRIBUTE virtual void login(std::string server_id, std::string oauthLoginServer = "") = 0 ; + + /** + @brief User login + if the process of logining need to know the parameters , + you can use the function + @param the parameters + */ + virtual void login(std::map info) = 0 ; + + /** + @brief Check whether the user logined or not + @return If user logined, return value is true; + else return value is false. + */ + virtual bool isLogined() = 0 ; + + /** + @brief Get USER ID + @return If user logined, return value is userID; + else return value is empty string. + */ + virtual std::string getUserID() = 0 ; + /** + @brief set the result listener + @param pListener The callback object for user result + */ + virtual void setActionListener(UserActionListener* listener) = 0 ; + /** + @brief get pListener The callback object for user result + @return the listener + */ + virtual UserActionListener* getActionListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_USER_H__ */ diff --git a/android/arm64-v8a/include/anysdk/Statistics.h b/android/arm64-v8a/include/anysdk/Statistics.h new file mode 100644 index 00000000..bb389ff0 --- /dev/null +++ b/android/arm64-v8a/include/anysdk/Statistics.h @@ -0,0 +1,18 @@ +#ifndef __STATISTICS_H__ +#define __STATISTICS_H__ + +#include +namespace anysdk { namespace framework { + +class Statistics +{ +public: + static void initInfo(); + static void createPlugin(std::string pluginName, int pluginType); + static void callFunction(std::string pluginName, std::string functionName); + +}; + +}} // namespace anysdk { namespace framework { + +#endif //__STATISTICS_H__ diff --git a/android/arm64-v8a/libPluginProtocolStatic.a b/android/arm64-v8a/libPluginProtocolStatic.a new file mode 100644 index 0000000000000000000000000000000000000000..32df300bd7612e13efd4f89e5de9e3714d7bacc8 GIT binary patch literal 810112 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
jf= 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

(Q18j2OJ9~moLdupukx0H_a&&`$rhnSY82xvl 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 WWSsmKb~XrKm-Nw9 +#include +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum { + kPluginAds = 16,/**< enum value is the type of Ads. */ + kPluginAnalytics = 1,/**< enum value is the type of Analytics. */ + kPluginIAP = 8,/**< enum value is the type of IAP. */ + kPluginShare = 2,/**< enum value is the type of Share. */ + kPluginUser = 32,/**< enum value is the type of User. */ + kPluginSocial = 4,/**< enum value is the type of Social. */ + kPluginPush = 64,/**< enum value is the type of Push. */ + kPluginCrash = 128,/**< enum value is the type of Crash. */ + kPluginCustom = 256,/**< enum value is the type of Custom. */ + kPluginREC = 512,/**< enum value is the type of REC. */ + kPluginAdTracking = 1024,/**< enum value is the type of AdTracking. */ +}Plugin_type; +/**    + *  @class  AgentManager   + */ +class AgentManager +{ +public: + virtual ~AgentManager(); + /** + @brief Get singleton of AgentManager + */ + + static AgentManager* getInstance(); + /** + @brief Destory the instance of AgentManager + */ + static void end(); + + /** + @breif the init of AgentManager + @param the appKey of anysdk + @param the appSecret of anysdk + @param the privateKey of anysdk + @param the url of oauthLoginServer + @warning Must invoke this interface before loadAllPlugins + */ + void init(std::string appKey,std::string appSecret,std::string privateKey,std::string oauthLoginServer); + + /** + @brief load the plugins + */ + CC_DEPRECATED_ATTRIBUTE void loadALLPlugin(); + /** + @brief unload the plugins + */ + CC_DEPRECATED_ATTRIBUTE void unloadALLPlugin(); + + /** + @brief load the plugins + */ + void loadAllPlugins(); + + /** + @brief unload the plugins + */ + void unloadAllPlugins(); + + /** + @brief Get Analytics plugin + @return if Analytics plugin exist ,return value is Analytics plugin. + else return value is null pointer. + */ + ProtocolAnalytics* getAnalyticsPlugin(){return _pAnalytics;}; + + /** + @brief Get User plugin + @return if User plugin exist ,return value is User plugin. + else return value is null pointer. + */ + ProtocolUser* getUserPlugin(){return _pUser;}; + + /** + @brief Get IAP plugin + @return if IAP plugin exist ,return value is IAP plugin. + else return value is null pointer. + */ + std::map* getIAPPlugin(){return &_pluginsIAPMap;}; + + /** + @brief Get Share plugin + @return if Share plugin exist ,return value is Share plugin. + else return value is null pointer. + */ + ProtocolShare* getSharePlugin(){return _pShare;}; + + /** + @brief Get Social plugin + @return if Social plugin exist ,return value is Social plugin. + else return value is null pointer. + */ + ProtocolSocial* getSocialPlugin(){return _pSocial;}; + + /** + @brief Get Ads plugin + @return if Ads plugin exist ,return value is Ads plugin. + else return value is null pointer. + */ + ProtocolAds* getAdsPlugin(){return _pAds;}; + + /** + @brief Get Push plugin + @return if Push plugin exist ,return value is Push plugin. + else return value is null pointer. + */ + ProtocolPush* getPushPlugin(){return _pPush;}; + + /** + @brief Get Crash plugin + @return if Crash plugin exist ,return value is Crash plugin. + else return value is null pointer. + */ + ProtocolCrash* getCrashPlugin(){return _pCrash;}; + + /** + @brief Get Custom plugin + @return if Crash plugin exist ,return value is Custom plugin. + else return value is null pointer. + */ + ProtocolCustom* getCustomPlugin(){return _pCustom;}; + + + /** + @brief Get REC plugin + @return if REC plugin exist ,return value is REC plugin. + else return value is null pointer. + */ + ProtocolREC* getRECPlugin(){return _pREC;}; + + /** + @brief Get AdTracking plugin + @return if AdTracking plugin exist ,return value is AdTracking plugin. + else return value is null pointer. + */ + ProtocolAdTracking* getAdTrackingPlugin(){return _pAdTracking;}; + + /** + @brief Get channel ID + @return return value is channel ID. + */ + std::string getChannelId(); + + /** + @brief Get custom param + @return return value is custom param for channel. + */ + std::string getCustomParam(); + + /** + @brief Get framework version + @return return value is the version of AnySDKFramework. + */ + std::string getFrameworkVersion(); + + /** + @Title: setIsAnaylticsEnabled + @Description: choose to open or close + @param @param enabled true or false + @return void + */ + void setIsAnaylticsEnabled(bool value){bIsAnaylticsEnabled = value;}; + /** + @Title: isAnaylticsEnabled + @Description: the status of Anayltics + @param @return true or false + @return boolean + */ + bool isAnaylticsEnabled(){return bIsAnaylticsEnabled;}; + + + void loadPlugin(const char* nodeName,int type); +protected: + void setDebugMode(bool flag); + std::string getSupportPlugin(); + void release(); + + +private: + AgentManager(void); + + // Analytics plugin + ProtocolAnalytics* _pAnalytics; + + // user plugin + ProtocolUser* _pUser; + + // IAP plugins + // ProtocolIAP* _pIAP; + std::map _pluginsIAPMap; + + // Share plugin + ProtocolShare* _pShare; + + // Social plugin + ProtocolSocial* _pSocial; + + // Ads plugin + ProtocolAds* _pAds; + + // Push plugin + ProtocolPush* _pPush; + + // Crash plugin + ProtocolCrash* _pCrash; + + // Custom plugin + ProtocolCustom* _pCustom; + + // REC plugin + ProtocolREC* _pREC; + + // AdTracking plugin + ProtocolAdTracking* _pAdTracking; + + bool bIsAnaylticsEnabled; + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_AGENTMANAGER_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/JSBRelation.h b/android/armeabi-v7a/include/anysdk/JSBRelation.h new file mode 100644 index 00000000..7775b0dc --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/JSBRelation.h @@ -0,0 +1,31 @@ +/** @file JSBRelation.h + */ +#ifndef __CCX_JSBRELATION_H__ +#define __CCX_JSBRELATION_H__ + +#include "PluginProtocol.h" +#include +#include +#include + +using namespace std; + +namespace anysdk { namespace framework { + +/**    + *  @class  JSBRelation   + */ +class JSBRelation +{ +public: + static string getMethodsOfPlugin(PluginProtocol* plugin); + + + + +private: +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_JSBRELATION_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/PluginFactory.h b/android/armeabi-v7a/include/anysdk/PluginFactory.h new file mode 100644 index 00000000..79922c97 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginFactory.h @@ -0,0 +1,41 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGIN_FACTORY_H__ +#define __CCX_PLUGIN_FACTORY_H__ + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginManager; +/**    + *  @class  PluginFactory   + */ +class PluginFactory +{ +public: + virtual ~PluginFactory(); + /** + @brief Get singleton of PluginFactory + */ + static PluginFactory* getInstance(); + + /** + @brief Destory the instance of PluginFactory + */ + static void purgeFactory(); + +private: + friend class PluginManager; + PluginFactory(void); + + /** + @brief create the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* createPlugin(const char* name, int pluginType); +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_FACTORY_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/PluginJavaData.h b/android/armeabi-v7a/include/anysdk/PluginJavaData.h new file mode 100644 index 00000000..bd37b745 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginJavaData.h @@ -0,0 +1,17 @@ +#ifndef __PLUGIN_JAVA_DATA_H__ +#define __PLUGIN_JAVA_DATA_H__ + +#include +#include + +namespace anysdk { namespace framework { + +typedef struct _PluginJavaData_ +{ + jobject jobj; + std::string jclassName; +} PluginJavaData; + +}} //namespace anysdk { namespace framework { + +#endif // __PLUGIN_JAVA_DATA_H__ diff --git a/android/armeabi-v7a/include/anysdk/PluginJniHelper.h b/android/armeabi-v7a/include/anysdk/PluginJniHelper.h new file mode 100644 index 00000000..82981907 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginJniHelper.h @@ -0,0 +1,43 @@ +#ifndef __PLUGIN_JNI_HELPER_H__ +#define __PLUGIN_JNI_HELPER_H__ + +#include +#include + +namespace anysdk {namespace framework{ + +typedef struct PluginJniMethodInfo_ +{ + JNIEnv * env; + jclass classID; + jmethodID methodID; +} PluginJniMethodInfo; + +class PluginJniHelper +{ +public: + static JavaVM* getJavaVM(); + static void setJavaVM(JavaVM *javaVM); + static JNIEnv* getEnv(); + + static bool getStaticMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static bool getMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static std::string jstring2string(jstring jstr); + static jstring newStringUTF(JNIEnv* env, const std::string& utf8Str); + + static bool setClassLoaderFrom(jobject nativeActivityInstance); + + static jmethodID loadclassMethod_methodID; + static jobject classloader; + +private: + static JavaVM *_psJavaVM; + static bool getMethodInfo_DefaultClassLoader(PluginJniMethodInfo &methodinfo, + const char *className, + const char *methodName, + const char *paramCode); +}; + +}} + +#endif // __PLUGIN_JNI_HELPER_H__ diff --git a/android/armeabi-v7a/include/anysdk/PluginJniMacros.h b/android/armeabi-v7a/include/anysdk/PluginJniMacros.h new file mode 100644 index 00000000..eace0d9a --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginJniMacros.h @@ -0,0 +1,156 @@ +#ifndef __PLUGIN_JNI_MACROS_H__ +#define __PLUGIN_JNI_MACROS_H__ + +#define return_if_fails(cond) if (!(cond)) return; +#define return_val_if_fails(cond, ret) if(!(cond)) return (ret); + +#define CALL_BASERET_JAVA_FUNC_WITH_PARAM(retType, paramCode, param, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID, param); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_BASERET_JAVA_FUNC(retType, paramCode, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_JAVA_FUNC_WITH_VALIST(retCode) \ +std::vector allParams; \ +if (NULL != param) \ +{ \ + allParams.push_back(param); \ + \ + va_list argp; \ + PluginParam* pArg = NULL; \ + va_start( argp, param ); \ + while (1) \ + { \ + pArg = va_arg(argp, PluginParam*); \ + if (pArg == NULL) \ + break; \ + \ + allParams.push_back(pArg); \ + } \ + va_end(argp); \ +} \ + \ +return call##retCode##FuncWithParam(funcName, allParams); \ + + +#define CALL_JAVA_FUNC(retType, retCode, defaultRet, jRetCode) \ +retType ret = defaultRet; \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(this); \ +if (NULL == pData) { \ + PluginUtils::outputLog(ANDROID_LOG_ERROR, "PluginProtocol", "Can't find java data for plugin : %s", this->getPluginName()); \ + return ret; \ +} \ + \ +std::string paramCode; \ +int nParamNum = params.size(); \ +if (0 == nParamNum) \ +{ \ + paramCode = "()"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName(this, funcName); \ +} else \ +{ \ + PluginParam* pRetParam = NULL; \ + bool needDel = false; \ + if (nParamNum == 1) { \ + pRetParam = params[0]; \ + } else { \ + std::map allParams; \ + for (int i = 0; i < nParamNum; i++) \ + { \ + PluginParam* pArg = params[i]; \ + if (pArg == NULL) \ + { \ + break; \ + } \ + \ + char strKey[8] = { 0 }; \ + sprintf(strKey, "Param%d", i + 1); \ + allParams[strKey] = pArg; \ + } \ + \ + pRetParam = new PluginParam(allParams); \ + needDel = true; \ + } \ + \ + switch(pRetParam->getCurrentType()) \ + { \ + case PluginParam::kParamTypeInt: \ + paramCode = "(I)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getIntValue()); \ + break; \ + case PluginParam::kParamTypeFloat: \ + paramCode = "(F)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getFloatValue()); \ + break; \ + case PluginParam::kParamTypeBool: \ + paramCode = "(Z)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getBoolValue()); \ + break; \ + case PluginParam::kParamTypeString: \ + { \ + jstring jstr = PluginJniHelper::newStringUTF(PluginUtils::getEnv(), pRetParam->getStringValue()); \ + paramCode = "(Ljava/lang/String;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jstr); \ + PluginUtils::getEnv()->DeleteLocalRef(jstr); \ + } \ + break; \ + case PluginParam::kParamTypeStringMap: \ + case PluginParam::kParamTypeMap: \ + { \ + jobject jMap = PluginUtils::getJObjFromParam(pRetParam); \ + paramCode = "(Lorg/json/JSONObject;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jMap); \ + PluginUtils::getEnv()->DeleteLocalRef(jMap); \ + } \ + break; \ + default: \ + break; \ + } \ + \ + if (needDel && pRetParam != NULL) \ + { \ + delete pRetParam; \ + pRetParam = NULL; \ + } \ +} \ +return ret; \ + + +#endif // __PLUGIN_JNI_MACROS_H__ diff --git a/android/armeabi-v7a/include/anysdk/PluginManager.h b/android/armeabi-v7a/include/anysdk/PluginManager.h new file mode 100644 index 00000000..93282ae7 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginManager.h @@ -0,0 +1,51 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGINMANAGER_H__ +#define __CCX_PLUGINMANAGER_H__ + +#include "PluginProtocol.h" +#include "PluginFactory.h" +#include +#include + +namespace anysdk { namespace framework { + +/**    + *  @class  PluginManager   + */ +class PluginManager +{ +public: + virtual ~PluginManager(); + /** + @brief Get singleton of PluginManager + */ + static PluginManager* getInstance(); + /** + @brief Destory the instance of PluginManager + */ + static void end(); + + /** + @brief load the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* loadPlugin(const char* name, int pluginType); + /** + @brief unload the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + void unloadPlugin(const char* name, int pluginType = 0); + + +private: + PluginManager(void); + std::map _pluginsMap; +// bool _isDebug; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGINMANAGER_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/PluginParam.h b/android/armeabi-v7a/include/anysdk/PluginParam.h new file mode 100644 index 00000000..1f35d4a7 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginParam.h @@ -0,0 +1,126 @@ +/** @file PluginParam.h + */ +#ifndef __CCX_PLUGIN_PARAM_H__ +#define __CCX_PLUGIN_PARAM_H__ + +#include +#include +/// \typedef std::map StringMap +/// typedef YString. +typedef std::map StringMap; + +namespace anysdk { namespace framework { + +class PluginProtocol; +/**    + *  @class  PluginParam   + */ +class PluginParam +{ +public: + /** + @brief the default constructor of PluginParam + */ + PluginParam(); + + virtual ~PluginParam(); + /** + @brief the constructor of PluginParam + @param the value is Integer + */ + PluginParam(int nValue); + /** + @brief the constructor of PluginParam + @param the value is float + */ + PluginParam(float fValue); + /** + @brief the constructor of PluginParam + @param the value is boolean + */ + PluginParam(bool bValue); + /** + @brief the default constructor of PluginParam + @param the value is char + */ + PluginParam(const char* strValue); + /** + @brief the default constructor of PluginParam + @param the value is StringMap + */ + PluginParam(StringMap strMapValue); + + typedef enum{ + kParamTypeNull = 0, + kParamTypeInt, + kParamTypeFloat, + kParamTypeBool, + kParamTypeString, + kParamTypeStringMap, + kParamTypeMap, + } ParamType; + /** + @brief get the ParamType of value + */ + inline ParamType getCurrentType() { + return _type; + } + /** + @brief get the int value + */ + inline int getIntValue() { + return _intValue; + } + /** + @brief get the float value + */ + inline float getFloatValue() { + return _floatValue; + } + /** + @brief get the boolean value + */ + inline bool getBoolValue() { + return _boolValue; + } + /** + @brief get the char value + */ + inline const char* getStringValue() { + return _strValue.c_str(); + } + /** + @brief get the map of value + */ + inline std::map getMapValue() { + return _mapValue; + } + /** + @brief get the StringMap value + */ + inline StringMap getStrMapValue() { + return _strMapValue; + } + +private: + friend class PluginProtocol; + /** + @brief the constructor of PluginParam + @param the map of value + */ + PluginParam(std::map mapValue); + +private: + ParamType _type; + + int _intValue; + float _floatValue; + bool _boolValue; + std::string _strValue; + std::map _mapValue; + StringMap _strMapValue; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_PARAM_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/PluginProtocol.h b/android/armeabi-v7a/include/anysdk/PluginProtocol.h new file mode 100644 index 00000000..95cf706d --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginProtocol.h @@ -0,0 +1,144 @@ +/** @file PluginProtocol.h + */ +#ifndef __CCX_IPLUGIN_H__ +#define __CCX_IPLUGIN_H__ + +#include "PluginParam.h" +#include + +#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) +#define CC_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#elif _MSC_VER >= 1400 //vs 2005 or higher +#define CC_DEPRECATED_ATTRIBUTE __declspec(deprecated) +#else +#define CC_DEPRECATED_ATTRIBUTE +#endif + +namespace anysdk { namespace framework { + +/** + * @class PluginProtocol + * @brief The super class for all plugins. + */ +class PluginProtocol +{ +public: + virtual ~PluginProtocol() {}; + + /** + *@brief set plugin name + *@param the name of plugin + */ + virtual void setPluginName(const char* name) = 0 ; + /** + *@brief get plugin name + *@return the name of plugin + */ + virtual const char* getPluginName() = 0 ; + + /** + *@brief get the version of plugin + *@return the version of plugin + */ + virtual std::string getPluginVersion(); + /** + *@brief get the version of sdk + *@return the version of sdk + */ + virtual std::string getSDKVersion(); + + /** + *@brief switch debug plug-in on/off + *@param the value of on/off + */ + CC_DEPRECATED_ATTRIBUTE virtual void setDebugMode(bool bDebug); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return void + */ + virtual void callFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return void + */ + virtual void callFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, std::vector params); + + /** + @brief Check function the plugin support or not + @param the name of plugin + @return if the function support ,return true + else retur false + */ + virtual bool isFunctionSupported(std::string functionName); + + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_IPLUGIN_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/PluginUtils.h b/android/armeabi-v7a/include/anysdk/PluginUtils.h new file mode 100644 index 00000000..3742c161 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/PluginUtils.h @@ -0,0 +1,157 @@ +#ifndef __PLUGIN_UTILS_H__ +#define __PLUGIN_UTILS_H__ + +#include "PluginJniHelper.h" +#include "PluginJavaData.h" +#include +#include +#include "PluginParam.h" +#include "PluginJniMacros.h" +#include +//#include + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginUtils +{ +public: +//cjh static void initPluginWrapper(android_app* app); + static jobject createJavaMapObject(std::map* paramMap); + static jobject createJavaListObject(std::list* paramList); + static void initJavaPlugin(PluginProtocol* pPlugin, jobject jObj, const char* className, int type); + static JNIEnv* getEnv(); + + static PluginJavaData* getPluginJavaData(PluginProtocol* pKeyObj); + static void setPluginJavaData(PluginProtocol* pKeyObj, PluginJavaData* pData, int type); + static void erasePluginJavaData(PluginProtocol* pKeyObj,int type); + static void erasePluginJavaData(std::string key); + + static PluginProtocol* getPluginPtr(std::string className); + + static jobject getJObjFromParam(PluginParam* param); + + // methods have no return value + template + static void callJavaFunctionWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + return_if_fails(paramCode != NULL && strlen(paramCode) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + t.env->CallVoidMethod(pData->jobj, t.methodID, param); + t.env->DeleteLocalRef(t.classID); + } + } + static void callJavaFunctionWithName(PluginProtocol* thiz, const char* funcName) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()V")) + { + t.env->CallVoidMethod(pData->jobj, t.methodID); + t.env->DeleteLocalRef(t.classID); + } + } + + // methods return value is string + template + static std::string callJavaStringFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + jstring strRet = (jstring)t.env->CallObjectMethod(pData->jobj, t.methodID, param); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + static std::string callJavaStringFuncWithName(PluginProtocol* thiz, const char* funcName) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()Ljava/lang/String;")) + { + jstring strRet = (jstring) t.env->CallObjectMethod(pData->jobj, t.methodID); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + + // methods return value is int + template + static int callJavaIntFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(int, paramCode, param, Int, 0) + } + static int callJavaIntFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(int, "()I", Int, 0) + } + + // methods return value is float + template + static float callJavaFloatFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(float, paramCode, param, Float, 0.0f) + } + static float callJavaFloatFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(float, "()F", Float, 0.0f); + } + + // methods return value is bool + template + static bool callJavaBoolFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(bool, paramCode, param, Boolean, false) + } + static bool callJavaBoolFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(bool, "()Z", Boolean, false) + } + + static void callJavaFunctionWithName_string_map(PluginProtocol* thiz, const char* funcName, const char* keyParam, std::map* paramMap); + + static void outputLog(int type, const char* logTag, const char* pFormat, ...); + static void output(int type, const char* logTag, const char* contents); + + static void resetLogLevel(); +private: + static std::string _logLevel; +}; + +}} // namespace anysdk { namespace framework { + +#endif //__PLUGIN_UTILS_H__ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolAdTracking.h b/android/armeabi-v7a/include/anysdk/ProtocolAdTracking.h new file mode 100644 index 00000000..6fc557a2 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolAdTracking.h @@ -0,0 +1,58 @@ +/** @file ProtocolAdTracking.h + */ +#ifndef __CCX_PROTOCOL_ADTRACKING_H__ +#define __CCX_PROTOCOL_ADTRACKING_H__ + +#include "PluginProtocol.h" +#include +namespace anysdk { namespace framework { +/**    + *@class  ProtocolAdTracking + *@brief the interface of AdTracking   + */ +class ProtocolAdTracking : public PluginProtocol +{ +public: + + /** + * + * @Title: onRegister + * @Description: Call this method if you want to track register events as happening during a section. + * @param userId user identifier + * @return void + */ + virtual void onRegister(const char* userId) = 0; + + /** + * + * @Title: onLogin + * @Description:Call this method if you want to track login events as happening during a section. + * @param userInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onLogin(std::map userInfo) = 0; + + /** + * + * @Title: onPay + * @Description: Call this method if you want to track pay events as happening during a section. + * @param productInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onPay(std::map productInfo) = 0; + + /** + * + * @Title: trackEvent + * @Description: Call this method if you want to track custom events with parameters as happening during a section. + * @param eventId The custom event name. + * @param paramMap The details of this parameters are already covered by document. + */ + virtual void trackEvent(const char* eventId, std::map* paramMap = NULL) = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_ADTRACKING_H__ ----- */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolAds.h b/android/armeabi-v7a/include/anysdk/ProtocolAds.h new file mode 100644 index 00000000..8e29987f --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolAds.h @@ -0,0 +1,133 @@ +/** @file ProtocolAds.h + */ +#ifndef __CCX_PROTOCOL_ADS_H__ +#define __CCX_PROTOCOL_ADS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TAdsDeveloperInfo +/// typedef TAdsDeveloperInfo. +typedef std::map TAdsDeveloperInfo; +/// \typedef std::map TAdsInfo +/// typedef TAdsInfo. +typedef std::map TAdsInfo; +/** @brief AdsResultCode enum, with inline docs */ +typedef enum +{ + kAdsReceived = 0, /**< enum the callback: the ad is received is at center. */ + + kAdsShown, /**< enum the callback: the advertisement dismissed. */ + kAdsDismissed, /**< enum the callback: the advertisement dismissed. */ + + kPointsSpendSucceed, /**< enum the callback: the points spend succeed. */ + kPointsSpendFailed, /**< enum the callback: the points spend failed. */ + + kNetworkError, /**< enum the callback of Network error at center. */ + kUnknownError, /**< enum the callback of Unknown error. */ + kOfferWallOnPointsChanged, /**< enum the callback of Changing the point of offerwall. */ + kRewardedVideoWithReward,/**< enum the callback of receiving the reward of rewardedvideo. */ + kInAppPurchaseFinished,/**< enum the callback of finishing IAP ad. */ + kAdsClicked,/**< enum the callback of the advertisement clicked. */ + kAdsExtension = 40000 /**< enum value is extension code . */ +} AdsResultCode; +/** @brief AdsPos enum, with inline docs */ +typedef enum { + kPosCenter = 0,/**< enum the toolbar is at center. */ + kPosTop,/**< enum the toolbar is at top. */ + kPosTopLeft,/**< enum the toolbar is at topleft. */ + kPosTopRight,/**< enum the toolbar is at topright. */ + kPosBottom,/**< enum the toolbar is at bottom. */ + kPosBottomLeft,/**< enum the toolbar is at bottomleft. */ + kPosBottomRight,/**< enum the toolbar is at bottomright. */ +} AdsPos; +/** @brief AdsType enum, with inline docs */ +typedef enum { + AD_TYPE_BANNER = 0,/**< enum value is banner ads . */ + AD_TYPE_FULLSCREEN,/**< enum value is fullscreen ads . */ + AD_TYPE_MOREAPP,/**< enum value is moreapp ads . */ + AD_TYPE_OFFERWALL,/**< enum value is offerwall ads . */ + AD_TYPE_REWARDEDVIDEO,/**< enum value is rewarded video ads . */ + AD_TYPE_NATIVEEXPRESS,/**< enum value is Native express ads . */ + AD_TYPE_NATIVEADVANCED,/**< enum value is Native advanced ads . */ +} AdsType; + +class ProtocolAds; +class AdsListener +{ +public: + /** + *@brief The advertisement request result + *@param the id of callback + *@param the information of callback + */ + virtual void onAdsResult(AdsResultCode code, const char* msg) = 0; +}; + +class ProtocolAds : public PluginProtocol +{ +public: + + + + /** + @brief show adview + @param the type of ads + @param the idx of ads + */ + virtual void showAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief Hide the adview + @param the type of ads + @param the idx of ads + */ + virtual void hideAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief preload the adview + @param the type of ads + @param the idx of ads + */ + virtual void preloadAds(AdsType adsType, int idx = 1)= 0; + + /** + *@brief Query the points of player + *@return the point + */ + virtual float queryPoints() = 0; + + /** + *@brief Spend the points. + Use this method to notify server spend points. + *@param points Need spend number of points + */ + virtual void spendPoints(int points) = 0; + + /** + @brief set the Ads listener + @param pListener The callback object for Ads result + */ + virtual void setAdsListener(AdsListener* listener) = 0; + + /** + @brief get pListener The callback object for Ads result + @return the listener + */ + virtual AdsListener* getAdsListener() = 0; + + /** + @brief Is it supportive of this type of ads + @param the type of ads + @return if it is supportive ,return true + else retur false + */ + virtual bool isAdTypeSupported(AdsType adType) = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_ADS_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolAnalytics.h b/android/armeabi-v7a/include/anysdk/ProtocolAnalytics.h new file mode 100644 index 00000000..ce3372d6 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolAnalytics.h @@ -0,0 +1,107 @@ +/** @file ProtocolAnalytics.h + */ +#ifndef __CCX_PROTOCOL_ANALYTICS_H__ +#define __CCX_PROTOCOL_ANALYTICS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map LogEventParamPair +/// typedef LogEventParamPair. +typedef std::pair< std::string, std::string > LogEventParamPair; +/// \typedef std::map LogEventParamMap +/// typedef LogEventParamMap. +typedef std::map< std::string, std::string > LogEventParamMap; +typedef enum { + ANONYMOUS,/**< enum value is anonymous typek. */ + REGISTED,/**< enum value is registed type. */ + SINA_WEIBO,/**< enum value is sineweibo type. */ + TENCENT_WEIBO,/**< enum value is tecentweibo type */ + QQ,/**< enum value is qq type */ + ND91,/**< enum value is nd91 type. */ +} AccountType; +typedef enum { + LOGIN,/**< enum value is the login operate. */ + LOGOUT,/**< enum value is the logout operate. */ + REGISTER,/**< enum value is the register operate. */ +} AccountOperate; +typedef enum { + MALE,/**< enum value is male. */ + FEMALE,/**< enum value is female. */ + UNKNOWN,/**< enum value is unknow. */ + +} AccountGender; +typedef enum { + GUIDE_LINE,/**< enum value is the guideline type.. */ + MAIN_LINE,/**< enum value is the mainline type.. */ + BRANCH_LINE,/** +#include + +namespace anysdk { namespace framework { + +class ProtocolCrash : public PluginProtocol +{ +public: + /** + * set user identifier + * + * @param userInfo + */ + virtual void setUserIdentifier(const char* identifier) = 0; + + /** + * The uploader captured in exception information + * + * @param message Set the custom information + * @param exception The exception + */ + virtual void reportException(const char* message, const char* exception) = 0; + + /** + * customize logging + * + * @param string Custom log + */ + virtual void leaveBreadcrumb(const char* breadcrumb) = 0; + + + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_CRASH_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolCustom.h b/android/armeabi-v7a/include/anysdk/ProtocolCustom.h new file mode 100644 index 00000000..dc92558e --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolCustom.h @@ -0,0 +1,50 @@ +/** @file ProtocolCustom.h + */ +#ifndef __CCX_PROTOCOL_CUSTOM_H__ +#define __CCX_PROTOCOL_CUSTOM_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +typedef enum +{ + kCustomExtension = 80000 /**< enum value is extension code . */ +} CustomResultCode; +/**    + *@class  CustomResultListener + *@brief the interface of share callback   + */ +class CustomResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onCustomResult(CustomResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolCustom + *@brief the interface of custom   + */ +class ProtocolCustom : public PluginProtocol +{ +public: + + /** + @breif set the result listener + @param pListener The callback object for custom result + @wraning Must invoke this interface before custom + */ + virtual void setResultListener(CustomResultListener* pListener) = 0; + + virtual CustomResultListener* getCustomListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_Custom_H__ ----- */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolIAP.h b/android/armeabi-v7a/include/anysdk/ProtocolIAP.h new file mode 100644 index 00000000..4a875b32 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolIAP.h @@ -0,0 +1,119 @@ +/** @file ProtocolIAP.h + */ +#ifndef __CCX_PROTOCOL_IAP_H__ +#define __CCX_PROTOCOL_IAP_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TIAPDeveloperInfo +/// typedef TIAPDeveloperInfo. +typedef std::map TIAPDeveloperInfo; +/// \typedef std::map TProductInfo +/// typedef TProductInfo. +typedef std::map TProductInfo; +/// typedef TProductsInfo. +typedef std::map AllProductsInfo; +/** @brief PayResultCode enum, with inline docs */ +typedef enum +{ + kPaySuccess = 0,/**< enum value is callback of succeeding in paying . */ + kPayFail,/**< enum value is callback of failing to pay . */ + kPayCancel,/**< enum value is callback of canceling to pay . */ + kPayNetworkError,/**< enum value is callback of network error . */ + kPayProductionInforIncomplete,/**< enum value is callback of incompleting info . */ + kPayInitSuccess,/**< enum value is callback of succeeding in initing sdk . */ + kPayInitFail,/**< enum value is callback of failing to init sdk . */ + kPayNowPaying,/**< enum value is callback of paying now . */ + kPayRechargeSuccess,/**< enum value is callback of succeeding in recharging. */ + kPayExtension = 30000 /**< enum value is extension code . */ +} PayResultCode; +/** @brief RequestResultCode enum, with inline docs */ +typedef enum +{ + kRequestSuccess = 31000,/**< enum value is callback of succeeding in paying . */ + kRequestFail/**< enum value is callback of failing to pay . */ +} RequestResultCode; +/**    + *@class  PayResultListener + *@brief the interface of pay callback   + */ +class PayResultListener +{ +public: + /**    + *@brief the interface of pay callback  + *@param the id of callback + *@param the information of callback + *@param the info of pay + */ + virtual void onPayResult(PayResultCode ret, const char* msg, TProductInfo info) = 0; + /** + *@brief the interface of request callback + *@param the id of callback + *@param the information of callback + *@param the info of request product + */ + virtual void onRequestResult(RequestResultCode ret, const char* msg, AllProductsInfo info) {} +}; +/**    + *@class  ProtocolIAP + *@brief the interface of pay    + */ + +class ProtocolIAP : public PluginProtocol +{ +public: + + /** + @brief pay for product + @param info The info of product, must contains key: + productName The name of product + productPrice The price of product(must can be parse to float) + 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) = 0; + /** + @brief get order id + @return the order id + */ + virtual std::string getOrderId() = 0; + + /** + @breif set the result listener + @param pListener The callback object for pay result + @wraning Must invoke this interface before payForProduct. + */ + virtual void setResultListener(PayResultListener* pListener) = 0; + + virtual PayResultListener* getPayListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + /** + @brief change the state of paying + @param the state + */ + + static void resetPayState() + { + _paying = false; + } + static bool _paying; + + + +}; + + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_IAP_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolPush.h b/android/armeabi-v7a/include/anysdk/ProtocolPush.h new file mode 100644 index 00000000..e9e2fac8 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolPush.h @@ -0,0 +1,104 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PROTOCOL_PUSH_H__ +#define __CCX_PROTOCOL_PUSH_H__ + +#include "PluginProtocol.h" +#include +#include +#include +using namespace std; + +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kPushReceiveMessage = 0,/**value is callback of Receiving Message . */ + kPushExtensionCode = 60000 /**< enum value is extension code . */ + + +} PushActionResultCode; +class ProtocolPush; +/**    + *@class  PushActionListener + *@brief the interface of Push callback   + */ +class PushActionListener +{ +public: + /**    + *@brief the interface of Push callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolPush* pPlugin, PushActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolPush   + */ +class ProtocolPush : public PluginProtocol +{ +public: + + + /** + *@brief start/register Push services + *@return void + */ + virtual void startPush() = 0 ; + + + /** + *@brief close Push services + *@return void + */ + virtual void closePush() = 0 ; + + + /** + *@brief set alias + *@param tags + *@return void + */ + virtual void setAlias(string alias) = 0; + + /** + *@brief del alias + *@param tags + *@return void + */ + virtual void delAlias(string alias) = 0; + + /** + *@brief set tag + *@param tags + *@return void + */ + virtual void setTags(list tags) = 0; + + /** + *@brief delete tag + *@param tags + *@return void + */ + virtual void delTags(list tags) = 0; + + /** + @brief set the result listener + @param pListener The callback object for push result + */ + virtual void setActionListener(PushActionListener* listener) = 0 ; + + /** + @brief get pListener The callback object for Push result + @return the listener + */ + virtual PushActionListener* getActionListener() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_PUSH_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolREC.h b/android/armeabi-v7a/include/anysdk/ProtocolREC.h new file mode 100644 index 00000000..b0db2c0d --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolREC.h @@ -0,0 +1,83 @@ +/** @file ProtocolREC.h + */ +#ifndef __CCX_PROTOCOL_REC_H__ +#define __CCX_PROTOCOL_REC_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { + +typedef std::map TVideoInfo; + +/** @brief RECResultCode enum, with inline docs */ +typedef enum +{ + kRECInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk . */ + kRECInitFail,/**< enum value is callback of failing to init sdk. */ + kRECStartRecording,/**< enum value is callback of starting to record. */ + kRECStopRecording,/**< enum value is callback of stoping to record. */ + kRECPauseRecording,/**< enum value is callback of pausing to record. */ + kRECResumeRecording,/**< enum value is callback of resuming to record. */ + kRECEnterSDKPage,/**< enum value is callback of entering SDK`s page. */ + kRECQuitSDKPage,/**< enum value is callback of quiting SDK`s page. */ + kRECShareSuccess,/**< enum value is callback of succeeding in sharing. */ + kRECShareFail,/**< enum value is callback of failing to share. */ + kRECExtension = 90000 /**< enum value is extension code . */ +} RECResultCode; +/**    + *@class  RECResultListener + *@brief the interface of REC callback   + */ +class RECResultListener +{ +public: + /**    + *@brief the interface of REC callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onRECResult(RECResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolREC + *@brief the interface of REC   + */ +class ProtocolREC : public PluginProtocol +{ +public: + + /** + * @Description: Start to record video + */ + virtual void startRecording() = 0; + + /** + * @Description: Stop to record video + */ + virtual void stopRecording() = 0; + + /** + * @Description: share video + * @Param info The info of share + */ + virtual void share(TVideoInfo info) = 0; + + + + /** + @breif set the result listener + @param pListener The callback object for REC result + @wraning Must invoke this interface before REC + */ + virtual void setResultListener(RECResultListener* pListener) = 0; + + virtual RECResultListener* getRECListener() = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolShare.h b/android/armeabi-v7a/include/anysdk/ProtocolShare.h new file mode 100644 index 00000000..2215a4ff --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolShare.h @@ -0,0 +1,72 @@ +/** @file ProtocolShare.h + */ +#ifndef __CCX_PROTOCOL_SHARE_H__ +#define __CCX_PROTOCOL_SHARE_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TShareDeveloperInfo +/// typedef TShareDeveloperInfo. +typedef std::map TShareDeveloperInfo; +/// \typedef std::map TShareInfo +/// typedef TShareInfo. +typedef std::map TShareInfo; +/** @brief ShareResultCode enum, with inline docs */ +typedef enum +{ + kShareSuccess = 0,/**< enum value is callback of failing to sharing . */ + kShareFail,/**< enum value is callback of failing to share . */ + kShareCancel,/**< enum value is callback of canceling to share . */ + kShareNetworkError,/**< enum value is callback of network error . */ + kShareExtension = 10000 /**< enum value is extension code . */ +} ShareResultCode; +/**    + *@class  ShareResultListener + *@brief the interface of share callback   + */ +class ShareResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onShareResult(ShareResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolShare + *@brief the interface of share   + */ +class ProtocolShare : public PluginProtocol +{ +public: + + + + /** + @brief share information + @param info The info of share, contains key: + SharedText The text need to share + SharedImagePath The full path of image file need to share (optinal) + @warning For different plugin, the parameter should have other keys to share. + Look at the manual of plugins. */ + virtual void share(TShareInfo info) = 0; + + /** + @breif set the result listener + @param pListener The callback object for share result + @wraning Must invoke this interface before share + */ + virtual void setResultListener(ShareResultListener* pListener) = 0; + + virtual ShareResultListener* getShareListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolSocial.h b/android/armeabi-v7a/include/anysdk/ProtocolSocial.h new file mode 100644 index 00000000..3fa5639b --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolSocial.h @@ -0,0 +1,105 @@ +/** @file ProtocolSocial.h + */ +#ifndef __CCX_PROTOCOL_SOCIAL_H__ +#define __CCX_PROTOCOL_SOCIAL_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TSocialDeveloperInfo +/// typedef TSocialDeveloperInfo. +typedef std::map TSocialDeveloperInfo; +/// \typedef std::map TAchievementInfo +/// typedef TAchievementInfo. +typedef std::map TAchievementInfo; +/** @brief SocialRetCode enum, with inline docs */ +typedef enum +{ + // code for leaderboard feature + kScoreSubmitSucceed =1,/**< enum value is callback of succeeding in submiting. */ + kScoreSubmitfail,/**< enum value is callback of failing to submit . */ + + // code for achievement feature + kAchUnlockSucceed,/**< enum value is callback of succeeding in unlocking. */ + kAchUnlockFail,/**< enum value is callback of failing to unlock. */ + + kSocialSignInSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignInFail,/**< enum value is callback of failing to login. */ + + kSocialSignOutSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignOutFail,/**< enum value is callback of failing to login. */ + kSocialGetGameFriends,/**< enum value is callback of getGameFriends. */ + kSocialExtensionCode = 20000 /**< enum value is extension code . */ + +} SocialRetCode; +/**    + *@class  SocialListener + *@brief the interface of social callback   + */ +class SocialListener +{ +public: + /**    + *@brief the interface of social callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onSocialResult(SocialRetCode code, const char* msg) = 0; +}; + +/**    + *@class  ProtocolSocial + *@brief the interface of social   + */ +class ProtocolSocial : public PluginProtocol +{ +public: + + /** + @brief user signIn + */ + virtual void signIn() = 0; + + /** + @brief user signOut + */ + virtual void signOut() = 0; + + /** + @brief submit the score + @param leaderboardID + @param the score + */ + virtual void submitScore(const char* leadboardID, long score) = 0; + /** + @brief show the id of Leaderboard page + @param leaderboardID + */ + virtual void showLeaderboard(const char* leaderboardID) = 0; + + /** + @brief methods of achievement feature + @param the info of achievement + */ + virtual void unlockAchievement(TAchievementInfo achInfo) = 0; + /** + @brief show the page of achievements + */ + virtual void showAchievements() = 0; + /** + @brief set pListener The callback object for social result + @param the listener + */ + virtual void setListener(SocialListener* listener) = 0; + /** + @brief get pListener The callback object for social result + @return the listener + */ + virtual SocialListener* getListener() = 0; +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SOCIAL_H__ ----- */ diff --git a/android/armeabi-v7a/include/anysdk/ProtocolUser.h b/android/armeabi-v7a/include/anysdk/ProtocolUser.h new file mode 100644 index 00000000..14752215 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/ProtocolUser.h @@ -0,0 +1,134 @@ +/** @file ProtocolUser.h + */ +#ifndef __CCX_PROTOCOL_USER_H__ +#define __CCX_PROTOCOL_USER_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TUserDeveloperInfo +/// typedef TUserDeveloperInfo. +typedef std::map TUserDeveloperInfo; +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk. */ + kInitFail,/**< enum value is callback of failing to init sdk. */ + kLoginSuccess,/**< enum value is callback of succeeding in login.*/ + kLoginNetworkError,/**< enum value is callback of network error*/ + kLoginNoNeed,/**< enum value is callback of no need login.*/ + kLoginFail,/**< enum value is callback of failing to login. */ + kLoginCancel,/**< enum value is callback of canceling to login. */ + kLogoutSuccess,/**< enum value is callback of succeeding in logout. */ + kLogoutFail,/**< enum value is callback of failing to logout. */ + kPlatformEnter,/**< enum value is callback after enter platform. */ + kPlatformBack,/**< enum value is callback after exit antiAddiction. */ + kPausePage,/**< enum value is callback after exit pause page. */ + kExitPage,/**< enum value is callback after exit exit page. */ + kAntiAddictionQuery,/**< enum value is callback after querying antiAddiction. */ + kRealNameRegister,/**< enum value is callback after registering realname. */ + kAccountSwitchSuccess,/**< enum value is callback of succeeding in switching account. */ + kAccountSwitchFail,/**< enum value is callback of failing to switch account. */ + kOpenShop,/**< enum value is callback of open the shop. */ + kAccountSwitchCancel,/**< enum value is callback of canceling to switch account. */ + kUserExtension = 50000 /**< enum value is extension code . */ + + +} UserActionResultCode; +/** @brief ToolBarPlace enum, with inline docs */ +typedef enum +{ + kToolBarTopLeft = 1,/**< enum the toolbar is at topleft. */ + kToolBarTopRight,/**< enum the toolbar is at topright. */ + kToolBarMidLeft,/**< enum the toolbar is at midleft. */ + kToolBarMidRight,/**< enum the toolbar is at midright. */ + kToolBarBottomLeft,/**< enum the toolbar is at bottomleft. */ + kToolBarBottomRight,/**< enum the toolbar is at bottomright. */ +} ToolBarPlace; + +class ProtocolUser; +/**    + *@class  UserActionListener + *@brief the interface of user callback   + */ +class UserActionListener +{ +public: + /**    + *@brief the interface of user callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolUser* pPlugin, UserActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolUser   + */ +class ProtocolUser : public PluginProtocol +{ +public: + + + /** + @brief User login + */ + virtual void login() = 0 ; + + /** + @brief User login + if the process of logining need to know the param of server_id , + you can use the function + and if you must change oauthloginserver, you can add the param of oauthLoginServer + @param server_id + @param oauthLoginServer + */ + + CC_DEPRECATED_ATTRIBUTE virtual void login(std::string server_id, std::string oauthLoginServer = "") = 0 ; + + /** + @brief User login + if the process of logining need to know the parameters , + you can use the function + @param the parameters + */ + virtual void login(std::map info) = 0 ; + + /** + @brief Check whether the user logined or not + @return If user logined, return value is true; + else return value is false. + */ + virtual bool isLogined() = 0 ; + + /** + @brief Get USER ID + @return If user logined, return value is userID; + else return value is empty string. + */ + virtual std::string getUserID() = 0 ; + /** + @brief set the result listener + @param pListener The callback object for user result + */ + virtual void setActionListener(UserActionListener* listener) = 0 ; + /** + @brief get pListener The callback object for user result + @return the listener + */ + virtual UserActionListener* getActionListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_USER_H__ */ diff --git a/android/armeabi-v7a/include/anysdk/Statistics.h b/android/armeabi-v7a/include/anysdk/Statistics.h new file mode 100644 index 00000000..bb389ff0 --- /dev/null +++ b/android/armeabi-v7a/include/anysdk/Statistics.h @@ -0,0 +1,18 @@ +#ifndef __STATISTICS_H__ +#define __STATISTICS_H__ + +#include +namespace anysdk { namespace framework { + +class Statistics +{ +public: + static void initInfo(); + static void createPlugin(std::string pluginName, int pluginType); + static void callFunction(std::string pluginName, std::string functionName); + +}; + +}} // namespace anysdk { namespace framework { + +#endif //__STATISTICS_H__ diff --git a/android/armeabi-v7a/libPluginProtocolStatic.a b/android/armeabi-v7a/libPluginProtocolStatic.a new file mode 100644 index 0000000000000000000000000000000000000000..346cf3421daa37efe1a1aeba9515d1a32672a8ca GIT binary patch literal 833708 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

@Fcd#xO=z4hu0 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 t_y)= +#include +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum { + kPluginAds = 16,/**< enum value is the type of Ads. */ + kPluginAnalytics = 1,/**< enum value is the type of Analytics. */ + kPluginIAP = 8,/**< enum value is the type of IAP. */ + kPluginShare = 2,/**< enum value is the type of Share. */ + kPluginUser = 32,/**< enum value is the type of User. */ + kPluginSocial = 4,/**< enum value is the type of Social. */ + kPluginPush = 64,/**< enum value is the type of Push. */ + kPluginCrash = 128,/**< enum value is the type of Crash. */ + kPluginCustom = 256,/**< enum value is the type of Custom. */ + kPluginREC = 512,/**< enum value is the type of REC. */ + kPluginAdTracking = 1024,/**< enum value is the type of AdTracking. */ +}Plugin_type; +/**    + *  @class  AgentManager   + */ +class AgentManager +{ +public: + virtual ~AgentManager(); + /** + @brief Get singleton of AgentManager + */ + + static AgentManager* getInstance(); + /** + @brief Destory the instance of AgentManager + */ + static void end(); + + /** + @breif the init of AgentManager + @param the appKey of anysdk + @param the appSecret of anysdk + @param the privateKey of anysdk + @param the url of oauthLoginServer + @warning Must invoke this interface before loadAllPlugins + */ + void init(std::string appKey,std::string appSecret,std::string privateKey,std::string oauthLoginServer); + + /** + @brief load the plugins + */ + CC_DEPRECATED_ATTRIBUTE void loadALLPlugin(); + /** + @brief unload the plugins + */ + CC_DEPRECATED_ATTRIBUTE void unloadALLPlugin(); + + /** + @brief load the plugins + */ + void loadAllPlugins(); + + /** + @brief unload the plugins + */ + void unloadAllPlugins(); + + /** + @brief Get Analytics plugin + @return if Analytics plugin exist ,return value is Analytics plugin. + else return value is null pointer. + */ + ProtocolAnalytics* getAnalyticsPlugin(){return _pAnalytics;}; + + /** + @brief Get User plugin + @return if User plugin exist ,return value is User plugin. + else return value is null pointer. + */ + ProtocolUser* getUserPlugin(){return _pUser;}; + + /** + @brief Get IAP plugin + @return if IAP plugin exist ,return value is IAP plugin. + else return value is null pointer. + */ + std::map* getIAPPlugin(){return &_pluginsIAPMap;}; + + /** + @brief Get Share plugin + @return if Share plugin exist ,return value is Share plugin. + else return value is null pointer. + */ + ProtocolShare* getSharePlugin(){return _pShare;}; + + /** + @brief Get Social plugin + @return if Social plugin exist ,return value is Social plugin. + else return value is null pointer. + */ + ProtocolSocial* getSocialPlugin(){return _pSocial;}; + + /** + @brief Get Ads plugin + @return if Ads plugin exist ,return value is Ads plugin. + else return value is null pointer. + */ + ProtocolAds* getAdsPlugin(){return _pAds;}; + + /** + @brief Get Push plugin + @return if Push plugin exist ,return value is Push plugin. + else return value is null pointer. + */ + ProtocolPush* getPushPlugin(){return _pPush;}; + + /** + @brief Get Crash plugin + @return if Crash plugin exist ,return value is Crash plugin. + else return value is null pointer. + */ + ProtocolCrash* getCrashPlugin(){return _pCrash;}; + + /** + @brief Get Custom plugin + @return if Crash plugin exist ,return value is Custom plugin. + else return value is null pointer. + */ + ProtocolCustom* getCustomPlugin(){return _pCustom;}; + + + /** + @brief Get REC plugin + @return if REC plugin exist ,return value is REC plugin. + else return value is null pointer. + */ + ProtocolREC* getRECPlugin(){return _pREC;}; + + /** + @brief Get AdTracking plugin + @return if AdTracking plugin exist ,return value is AdTracking plugin. + else return value is null pointer. + */ + ProtocolAdTracking* getAdTrackingPlugin(){return _pAdTracking;}; + + /** + @brief Get channel ID + @return return value is channel ID. + */ + std::string getChannelId(); + + /** + @brief Get custom param + @return return value is custom param for channel. + */ + std::string getCustomParam(); + + /** + @brief Get framework version + @return return value is the version of AnySDKFramework. + */ + std::string getFrameworkVersion(); + + /** + @Title: setIsAnaylticsEnabled + @Description: choose to open or close + @param @param enabled true or false + @return void + */ + void setIsAnaylticsEnabled(bool value){bIsAnaylticsEnabled = value;}; + /** + @Title: isAnaylticsEnabled + @Description: the status of Anayltics + @param @return true or false + @return boolean + */ + bool isAnaylticsEnabled(){return bIsAnaylticsEnabled;}; + + + void loadPlugin(const char* nodeName,int type); +protected: + void setDebugMode(bool flag); + std::string getSupportPlugin(); + void release(); + + +private: + AgentManager(void); + + // Analytics plugin + ProtocolAnalytics* _pAnalytics; + + // user plugin + ProtocolUser* _pUser; + + // IAP plugins + // ProtocolIAP* _pIAP; + std::map _pluginsIAPMap; + + // Share plugin + ProtocolShare* _pShare; + + // Social plugin + ProtocolSocial* _pSocial; + + // Ads plugin + ProtocolAds* _pAds; + + // Push plugin + ProtocolPush* _pPush; + + // Crash plugin + ProtocolCrash* _pCrash; + + // Custom plugin + ProtocolCustom* _pCustom; + + // REC plugin + ProtocolREC* _pREC; + + // AdTracking plugin + ProtocolAdTracking* _pAdTracking; + + bool bIsAnaylticsEnabled; + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_AGENTMANAGER_H__ */ diff --git a/android/armeabi/include/anysdk/JSBRelation.h b/android/armeabi/include/anysdk/JSBRelation.h new file mode 100644 index 00000000..7775b0dc --- /dev/null +++ b/android/armeabi/include/anysdk/JSBRelation.h @@ -0,0 +1,31 @@ +/** @file JSBRelation.h + */ +#ifndef __CCX_JSBRELATION_H__ +#define __CCX_JSBRELATION_H__ + +#include "PluginProtocol.h" +#include +#include +#include + +using namespace std; + +namespace anysdk { namespace framework { + +/**    + *  @class  JSBRelation   + */ +class JSBRelation +{ +public: + static string getMethodsOfPlugin(PluginProtocol* plugin); + + + + +private: +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_JSBRELATION_H__ */ diff --git a/android/armeabi/include/anysdk/PluginFactory.h b/android/armeabi/include/anysdk/PluginFactory.h new file mode 100644 index 00000000..79922c97 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginFactory.h @@ -0,0 +1,41 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGIN_FACTORY_H__ +#define __CCX_PLUGIN_FACTORY_H__ + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginManager; +/**    + *  @class  PluginFactory   + */ +class PluginFactory +{ +public: + virtual ~PluginFactory(); + /** + @brief Get singleton of PluginFactory + */ + static PluginFactory* getInstance(); + + /** + @brief Destory the instance of PluginFactory + */ + static void purgeFactory(); + +private: + friend class PluginManager; + PluginFactory(void); + + /** + @brief create the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* createPlugin(const char* name, int pluginType); +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_FACTORY_H__ */ diff --git a/android/armeabi/include/anysdk/PluginJavaData.h b/android/armeabi/include/anysdk/PluginJavaData.h new file mode 100644 index 00000000..bd37b745 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginJavaData.h @@ -0,0 +1,17 @@ +#ifndef __PLUGIN_JAVA_DATA_H__ +#define __PLUGIN_JAVA_DATA_H__ + +#include +#include + +namespace anysdk { namespace framework { + +typedef struct _PluginJavaData_ +{ + jobject jobj; + std::string jclassName; +} PluginJavaData; + +}} //namespace anysdk { namespace framework { + +#endif // __PLUGIN_JAVA_DATA_H__ diff --git a/android/armeabi/include/anysdk/PluginJniHelper.h b/android/armeabi/include/anysdk/PluginJniHelper.h new file mode 100644 index 00000000..82981907 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginJniHelper.h @@ -0,0 +1,43 @@ +#ifndef __PLUGIN_JNI_HELPER_H__ +#define __PLUGIN_JNI_HELPER_H__ + +#include +#include + +namespace anysdk {namespace framework{ + +typedef struct PluginJniMethodInfo_ +{ + JNIEnv * env; + jclass classID; + jmethodID methodID; +} PluginJniMethodInfo; + +class PluginJniHelper +{ +public: + static JavaVM* getJavaVM(); + static void setJavaVM(JavaVM *javaVM); + static JNIEnv* getEnv(); + + static bool getStaticMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static bool getMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static std::string jstring2string(jstring jstr); + static jstring newStringUTF(JNIEnv* env, const std::string& utf8Str); + + static bool setClassLoaderFrom(jobject nativeActivityInstance); + + static jmethodID loadclassMethod_methodID; + static jobject classloader; + +private: + static JavaVM *_psJavaVM; + static bool getMethodInfo_DefaultClassLoader(PluginJniMethodInfo &methodinfo, + const char *className, + const char *methodName, + const char *paramCode); +}; + +}} + +#endif // __PLUGIN_JNI_HELPER_H__ diff --git a/android/armeabi/include/anysdk/PluginJniMacros.h b/android/armeabi/include/anysdk/PluginJniMacros.h new file mode 100644 index 00000000..eace0d9a --- /dev/null +++ b/android/armeabi/include/anysdk/PluginJniMacros.h @@ -0,0 +1,156 @@ +#ifndef __PLUGIN_JNI_MACROS_H__ +#define __PLUGIN_JNI_MACROS_H__ + +#define return_if_fails(cond) if (!(cond)) return; +#define return_val_if_fails(cond, ret) if(!(cond)) return (ret); + +#define CALL_BASERET_JAVA_FUNC_WITH_PARAM(retType, paramCode, param, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID, param); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_BASERET_JAVA_FUNC(retType, paramCode, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_JAVA_FUNC_WITH_VALIST(retCode) \ +std::vector allParams; \ +if (NULL != param) \ +{ \ + allParams.push_back(param); \ + \ + va_list argp; \ + PluginParam* pArg = NULL; \ + va_start( argp, param ); \ + while (1) \ + { \ + pArg = va_arg(argp, PluginParam*); \ + if (pArg == NULL) \ + break; \ + \ + allParams.push_back(pArg); \ + } \ + va_end(argp); \ +} \ + \ +return call##retCode##FuncWithParam(funcName, allParams); \ + + +#define CALL_JAVA_FUNC(retType, retCode, defaultRet, jRetCode) \ +retType ret = defaultRet; \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(this); \ +if (NULL == pData) { \ + PluginUtils::outputLog(ANDROID_LOG_ERROR, "PluginProtocol", "Can't find java data for plugin : %s", this->getPluginName()); \ + return ret; \ +} \ + \ +std::string paramCode; \ +int nParamNum = params.size(); \ +if (0 == nParamNum) \ +{ \ + paramCode = "()"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName(this, funcName); \ +} else \ +{ \ + PluginParam* pRetParam = NULL; \ + bool needDel = false; \ + if (nParamNum == 1) { \ + pRetParam = params[0]; \ + } else { \ + std::map allParams; \ + for (int i = 0; i < nParamNum; i++) \ + { \ + PluginParam* pArg = params[i]; \ + if (pArg == NULL) \ + { \ + break; \ + } \ + \ + char strKey[8] = { 0 }; \ + sprintf(strKey, "Param%d", i + 1); \ + allParams[strKey] = pArg; \ + } \ + \ + pRetParam = new PluginParam(allParams); \ + needDel = true; \ + } \ + \ + switch(pRetParam->getCurrentType()) \ + { \ + case PluginParam::kParamTypeInt: \ + paramCode = "(I)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getIntValue()); \ + break; \ + case PluginParam::kParamTypeFloat: \ + paramCode = "(F)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getFloatValue()); \ + break; \ + case PluginParam::kParamTypeBool: \ + paramCode = "(Z)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getBoolValue()); \ + break; \ + case PluginParam::kParamTypeString: \ + { \ + jstring jstr = PluginJniHelper::newStringUTF(PluginUtils::getEnv(), pRetParam->getStringValue()); \ + paramCode = "(Ljava/lang/String;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jstr); \ + PluginUtils::getEnv()->DeleteLocalRef(jstr); \ + } \ + break; \ + case PluginParam::kParamTypeStringMap: \ + case PluginParam::kParamTypeMap: \ + { \ + jobject jMap = PluginUtils::getJObjFromParam(pRetParam); \ + paramCode = "(Lorg/json/JSONObject;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jMap); \ + PluginUtils::getEnv()->DeleteLocalRef(jMap); \ + } \ + break; \ + default: \ + break; \ + } \ + \ + if (needDel && pRetParam != NULL) \ + { \ + delete pRetParam; \ + pRetParam = NULL; \ + } \ +} \ +return ret; \ + + +#endif // __PLUGIN_JNI_MACROS_H__ diff --git a/android/armeabi/include/anysdk/PluginManager.h b/android/armeabi/include/anysdk/PluginManager.h new file mode 100644 index 00000000..93282ae7 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginManager.h @@ -0,0 +1,51 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGINMANAGER_H__ +#define __CCX_PLUGINMANAGER_H__ + +#include "PluginProtocol.h" +#include "PluginFactory.h" +#include +#include + +namespace anysdk { namespace framework { + +/**    + *  @class  PluginManager   + */ +class PluginManager +{ +public: + virtual ~PluginManager(); + /** + @brief Get singleton of PluginManager + */ + static PluginManager* getInstance(); + /** + @brief Destory the instance of PluginManager + */ + static void end(); + + /** + @brief load the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* loadPlugin(const char* name, int pluginType); + /** + @brief unload the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + void unloadPlugin(const char* name, int pluginType = 0); + + +private: + PluginManager(void); + std::map _pluginsMap; +// bool _isDebug; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGINMANAGER_H__ */ diff --git a/android/armeabi/include/anysdk/PluginParam.h b/android/armeabi/include/anysdk/PluginParam.h new file mode 100644 index 00000000..1f35d4a7 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginParam.h @@ -0,0 +1,126 @@ +/** @file PluginParam.h + */ +#ifndef __CCX_PLUGIN_PARAM_H__ +#define __CCX_PLUGIN_PARAM_H__ + +#include +#include +/// \typedef std::map StringMap +/// typedef YString. +typedef std::map StringMap; + +namespace anysdk { namespace framework { + +class PluginProtocol; +/**    + *  @class  PluginParam   + */ +class PluginParam +{ +public: + /** + @brief the default constructor of PluginParam + */ + PluginParam(); + + virtual ~PluginParam(); + /** + @brief the constructor of PluginParam + @param the value is Integer + */ + PluginParam(int nValue); + /** + @brief the constructor of PluginParam + @param the value is float + */ + PluginParam(float fValue); + /** + @brief the constructor of PluginParam + @param the value is boolean + */ + PluginParam(bool bValue); + /** + @brief the default constructor of PluginParam + @param the value is char + */ + PluginParam(const char* strValue); + /** + @brief the default constructor of PluginParam + @param the value is StringMap + */ + PluginParam(StringMap strMapValue); + + typedef enum{ + kParamTypeNull = 0, + kParamTypeInt, + kParamTypeFloat, + kParamTypeBool, + kParamTypeString, + kParamTypeStringMap, + kParamTypeMap, + } ParamType; + /** + @brief get the ParamType of value + */ + inline ParamType getCurrentType() { + return _type; + } + /** + @brief get the int value + */ + inline int getIntValue() { + return _intValue; + } + /** + @brief get the float value + */ + inline float getFloatValue() { + return _floatValue; + } + /** + @brief get the boolean value + */ + inline bool getBoolValue() { + return _boolValue; + } + /** + @brief get the char value + */ + inline const char* getStringValue() { + return _strValue.c_str(); + } + /** + @brief get the map of value + */ + inline std::map getMapValue() { + return _mapValue; + } + /** + @brief get the StringMap value + */ + inline StringMap getStrMapValue() { + return _strMapValue; + } + +private: + friend class PluginProtocol; + /** + @brief the constructor of PluginParam + @param the map of value + */ + PluginParam(std::map mapValue); + +private: + ParamType _type; + + int _intValue; + float _floatValue; + bool _boolValue; + std::string _strValue; + std::map _mapValue; + StringMap _strMapValue; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_PARAM_H__ */ diff --git a/android/armeabi/include/anysdk/PluginProtocol.h b/android/armeabi/include/anysdk/PluginProtocol.h new file mode 100644 index 00000000..95cf706d --- /dev/null +++ b/android/armeabi/include/anysdk/PluginProtocol.h @@ -0,0 +1,144 @@ +/** @file PluginProtocol.h + */ +#ifndef __CCX_IPLUGIN_H__ +#define __CCX_IPLUGIN_H__ + +#include "PluginParam.h" +#include + +#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) +#define CC_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#elif _MSC_VER >= 1400 //vs 2005 or higher +#define CC_DEPRECATED_ATTRIBUTE __declspec(deprecated) +#else +#define CC_DEPRECATED_ATTRIBUTE +#endif + +namespace anysdk { namespace framework { + +/** + * @class PluginProtocol + * @brief The super class for all plugins. + */ +class PluginProtocol +{ +public: + virtual ~PluginProtocol() {}; + + /** + *@brief set plugin name + *@param the name of plugin + */ + virtual void setPluginName(const char* name) = 0 ; + /** + *@brief get plugin name + *@return the name of plugin + */ + virtual const char* getPluginName() = 0 ; + + /** + *@brief get the version of plugin + *@return the version of plugin + */ + virtual std::string getPluginVersion(); + /** + *@brief get the version of sdk + *@return the version of sdk + */ + virtual std::string getSDKVersion(); + + /** + *@brief switch debug plug-in on/off + *@param the value of on/off + */ + CC_DEPRECATED_ATTRIBUTE virtual void setDebugMode(bool bDebug); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return void + */ + virtual void callFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return void + */ + virtual void callFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, std::vector params); + + /** + @brief Check function the plugin support or not + @param the name of plugin + @return if the function support ,return true + else retur false + */ + virtual bool isFunctionSupported(std::string functionName); + + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_IPLUGIN_H__ */ diff --git a/android/armeabi/include/anysdk/PluginUtils.h b/android/armeabi/include/anysdk/PluginUtils.h new file mode 100644 index 00000000..3742c161 --- /dev/null +++ b/android/armeabi/include/anysdk/PluginUtils.h @@ -0,0 +1,157 @@ +#ifndef __PLUGIN_UTILS_H__ +#define __PLUGIN_UTILS_H__ + +#include "PluginJniHelper.h" +#include "PluginJavaData.h" +#include +#include +#include "PluginParam.h" +#include "PluginJniMacros.h" +#include +//#include + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginUtils +{ +public: +//cjh static void initPluginWrapper(android_app* app); + static jobject createJavaMapObject(std::map* paramMap); + static jobject createJavaListObject(std::list* paramList); + static void initJavaPlugin(PluginProtocol* pPlugin, jobject jObj, const char* className, int type); + static JNIEnv* getEnv(); + + static PluginJavaData* getPluginJavaData(PluginProtocol* pKeyObj); + static void setPluginJavaData(PluginProtocol* pKeyObj, PluginJavaData* pData, int type); + static void erasePluginJavaData(PluginProtocol* pKeyObj,int type); + static void erasePluginJavaData(std::string key); + + static PluginProtocol* getPluginPtr(std::string className); + + static jobject getJObjFromParam(PluginParam* param); + + // methods have no return value + template + static void callJavaFunctionWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + return_if_fails(paramCode != NULL && strlen(paramCode) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + t.env->CallVoidMethod(pData->jobj, t.methodID, param); + t.env->DeleteLocalRef(t.classID); + } + } + static void callJavaFunctionWithName(PluginProtocol* thiz, const char* funcName) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()V")) + { + t.env->CallVoidMethod(pData->jobj, t.methodID); + t.env->DeleteLocalRef(t.classID); + } + } + + // methods return value is string + template + static std::string callJavaStringFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + jstring strRet = (jstring)t.env->CallObjectMethod(pData->jobj, t.methodID, param); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + static std::string callJavaStringFuncWithName(PluginProtocol* thiz, const char* funcName) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()Ljava/lang/String;")) + { + jstring strRet = (jstring) t.env->CallObjectMethod(pData->jobj, t.methodID); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + + // methods return value is int + template + static int callJavaIntFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(int, paramCode, param, Int, 0) + } + static int callJavaIntFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(int, "()I", Int, 0) + } + + // methods return value is float + template + static float callJavaFloatFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(float, paramCode, param, Float, 0.0f) + } + static float callJavaFloatFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(float, "()F", Float, 0.0f); + } + + // methods return value is bool + template + static bool callJavaBoolFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(bool, paramCode, param, Boolean, false) + } + static bool callJavaBoolFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(bool, "()Z", Boolean, false) + } + + static void callJavaFunctionWithName_string_map(PluginProtocol* thiz, const char* funcName, const char* keyParam, std::map* paramMap); + + static void outputLog(int type, const char* logTag, const char* pFormat, ...); + static void output(int type, const char* logTag, const char* contents); + + static void resetLogLevel(); +private: + static std::string _logLevel; +}; + +}} // namespace anysdk { namespace framework { + +#endif //__PLUGIN_UTILS_H__ diff --git a/android/armeabi/include/anysdk/ProtocolAdTracking.h b/android/armeabi/include/anysdk/ProtocolAdTracking.h new file mode 100644 index 00000000..6fc557a2 --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolAdTracking.h @@ -0,0 +1,58 @@ +/** @file ProtocolAdTracking.h + */ +#ifndef __CCX_PROTOCOL_ADTRACKING_H__ +#define __CCX_PROTOCOL_ADTRACKING_H__ + +#include "PluginProtocol.h" +#include +namespace anysdk { namespace framework { +/**    + *@class  ProtocolAdTracking + *@brief the interface of AdTracking   + */ +class ProtocolAdTracking : public PluginProtocol +{ +public: + + /** + * + * @Title: onRegister + * @Description: Call this method if you want to track register events as happening during a section. + * @param userId user identifier + * @return void + */ + virtual void onRegister(const char* userId) = 0; + + /** + * + * @Title: onLogin + * @Description:Call this method if you want to track login events as happening during a section. + * @param userInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onLogin(std::map userInfo) = 0; + + /** + * + * @Title: onPay + * @Description: Call this method if you want to track pay events as happening during a section. + * @param productInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onPay(std::map productInfo) = 0; + + /** + * + * @Title: trackEvent + * @Description: Call this method if you want to track custom events with parameters as happening during a section. + * @param eventId The custom event name. + * @param paramMap The details of this parameters are already covered by document. + */ + virtual void trackEvent(const char* eventId, std::map* paramMap = NULL) = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_ADTRACKING_H__ ----- */ diff --git a/android/armeabi/include/anysdk/ProtocolAds.h b/android/armeabi/include/anysdk/ProtocolAds.h new file mode 100644 index 00000000..8e29987f --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolAds.h @@ -0,0 +1,133 @@ +/** @file ProtocolAds.h + */ +#ifndef __CCX_PROTOCOL_ADS_H__ +#define __CCX_PROTOCOL_ADS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TAdsDeveloperInfo +/// typedef TAdsDeveloperInfo. +typedef std::map TAdsDeveloperInfo; +/// \typedef std::map TAdsInfo +/// typedef TAdsInfo. +typedef std::map TAdsInfo; +/** @brief AdsResultCode enum, with inline docs */ +typedef enum +{ + kAdsReceived = 0, /**< enum the callback: the ad is received is at center. */ + + kAdsShown, /**< enum the callback: the advertisement dismissed. */ + kAdsDismissed, /**< enum the callback: the advertisement dismissed. */ + + kPointsSpendSucceed, /**< enum the callback: the points spend succeed. */ + kPointsSpendFailed, /**< enum the callback: the points spend failed. */ + + kNetworkError, /**< enum the callback of Network error at center. */ + kUnknownError, /**< enum the callback of Unknown error. */ + kOfferWallOnPointsChanged, /**< enum the callback of Changing the point of offerwall. */ + kRewardedVideoWithReward,/**< enum the callback of receiving the reward of rewardedvideo. */ + kInAppPurchaseFinished,/**< enum the callback of finishing IAP ad. */ + kAdsClicked,/**< enum the callback of the advertisement clicked. */ + kAdsExtension = 40000 /**< enum value is extension code . */ +} AdsResultCode; +/** @brief AdsPos enum, with inline docs */ +typedef enum { + kPosCenter = 0,/**< enum the toolbar is at center. */ + kPosTop,/**< enum the toolbar is at top. */ + kPosTopLeft,/**< enum the toolbar is at topleft. */ + kPosTopRight,/**< enum the toolbar is at topright. */ + kPosBottom,/**< enum the toolbar is at bottom. */ + kPosBottomLeft,/**< enum the toolbar is at bottomleft. */ + kPosBottomRight,/**< enum the toolbar is at bottomright. */ +} AdsPos; +/** @brief AdsType enum, with inline docs */ +typedef enum { + AD_TYPE_BANNER = 0,/**< enum value is banner ads . */ + AD_TYPE_FULLSCREEN,/**< enum value is fullscreen ads . */ + AD_TYPE_MOREAPP,/**< enum value is moreapp ads . */ + AD_TYPE_OFFERWALL,/**< enum value is offerwall ads . */ + AD_TYPE_REWARDEDVIDEO,/**< enum value is rewarded video ads . */ + AD_TYPE_NATIVEEXPRESS,/**< enum value is Native express ads . */ + AD_TYPE_NATIVEADVANCED,/**< enum value is Native advanced ads . */ +} AdsType; + +class ProtocolAds; +class AdsListener +{ +public: + /** + *@brief The advertisement request result + *@param the id of callback + *@param the information of callback + */ + virtual void onAdsResult(AdsResultCode code, const char* msg) = 0; +}; + +class ProtocolAds : public PluginProtocol +{ +public: + + + + /** + @brief show adview + @param the type of ads + @param the idx of ads + */ + virtual void showAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief Hide the adview + @param the type of ads + @param the idx of ads + */ + virtual void hideAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief preload the adview + @param the type of ads + @param the idx of ads + */ + virtual void preloadAds(AdsType adsType, int idx = 1)= 0; + + /** + *@brief Query the points of player + *@return the point + */ + virtual float queryPoints() = 0; + + /** + *@brief Spend the points. + Use this method to notify server spend points. + *@param points Need spend number of points + */ + virtual void spendPoints(int points) = 0; + + /** + @brief set the Ads listener + @param pListener The callback object for Ads result + */ + virtual void setAdsListener(AdsListener* listener) = 0; + + /** + @brief get pListener The callback object for Ads result + @return the listener + */ + virtual AdsListener* getAdsListener() = 0; + + /** + @brief Is it supportive of this type of ads + @param the type of ads + @return if it is supportive ,return true + else retur false + */ + virtual bool isAdTypeSupported(AdsType adType) = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_ADS_H__ */ diff --git a/android/armeabi/include/anysdk/ProtocolAnalytics.h b/android/armeabi/include/anysdk/ProtocolAnalytics.h new file mode 100644 index 00000000..ce3372d6 --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolAnalytics.h @@ -0,0 +1,107 @@ +/** @file ProtocolAnalytics.h + */ +#ifndef __CCX_PROTOCOL_ANALYTICS_H__ +#define __CCX_PROTOCOL_ANALYTICS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map LogEventParamPair +/// typedef LogEventParamPair. +typedef std::pair< std::string, std::string > LogEventParamPair; +/// \typedef std::map LogEventParamMap +/// typedef LogEventParamMap. +typedef std::map< std::string, std::string > LogEventParamMap; +typedef enum { + ANONYMOUS,/**< enum value is anonymous typek. */ + REGISTED,/**< enum value is registed type. */ + SINA_WEIBO,/**< enum value is sineweibo type. */ + TENCENT_WEIBO,/**< enum value is tecentweibo type */ + QQ,/**< enum value is qq type */ + ND91,/**< enum value is nd91 type. */ +} AccountType; +typedef enum { + LOGIN,/**< enum value is the login operate. */ + LOGOUT,/**< enum value is the logout operate. */ + REGISTER,/**< enum value is the register operate. */ +} AccountOperate; +typedef enum { + MALE,/**< enum value is male. */ + FEMALE,/**< enum value is female. */ + UNKNOWN,/**< enum value is unknow. */ + +} AccountGender; +typedef enum { + GUIDE_LINE,/**< enum value is the guideline type.. */ + MAIN_LINE,/**< enum value is the mainline type.. */ + BRANCH_LINE,/** +#include + +namespace anysdk { namespace framework { + +class ProtocolCrash : public PluginProtocol +{ +public: + /** + * set user identifier + * + * @param userInfo + */ + virtual void setUserIdentifier(const char* identifier) = 0; + + /** + * The uploader captured in exception information + * + * @param message Set the custom information + * @param exception The exception + */ + virtual void reportException(const char* message, const char* exception) = 0; + + /** + * customize logging + * + * @param string Custom log + */ + virtual void leaveBreadcrumb(const char* breadcrumb) = 0; + + + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_CRASH_H__ */ diff --git a/android/armeabi/include/anysdk/ProtocolCustom.h b/android/armeabi/include/anysdk/ProtocolCustom.h new file mode 100644 index 00000000..dc92558e --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolCustom.h @@ -0,0 +1,50 @@ +/** @file ProtocolCustom.h + */ +#ifndef __CCX_PROTOCOL_CUSTOM_H__ +#define __CCX_PROTOCOL_CUSTOM_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +typedef enum +{ + kCustomExtension = 80000 /**< enum value is extension code . */ +} CustomResultCode; +/**    + *@class  CustomResultListener + *@brief the interface of share callback   + */ +class CustomResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onCustomResult(CustomResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolCustom + *@brief the interface of custom   + */ +class ProtocolCustom : public PluginProtocol +{ +public: + + /** + @breif set the result listener + @param pListener The callback object for custom result + @wraning Must invoke this interface before custom + */ + virtual void setResultListener(CustomResultListener* pListener) = 0; + + virtual CustomResultListener* getCustomListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_Custom_H__ ----- */ diff --git a/android/armeabi/include/anysdk/ProtocolIAP.h b/android/armeabi/include/anysdk/ProtocolIAP.h new file mode 100644 index 00000000..4a875b32 --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolIAP.h @@ -0,0 +1,119 @@ +/** @file ProtocolIAP.h + */ +#ifndef __CCX_PROTOCOL_IAP_H__ +#define __CCX_PROTOCOL_IAP_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TIAPDeveloperInfo +/// typedef TIAPDeveloperInfo. +typedef std::map TIAPDeveloperInfo; +/// \typedef std::map TProductInfo +/// typedef TProductInfo. +typedef std::map TProductInfo; +/// typedef TProductsInfo. +typedef std::map AllProductsInfo; +/** @brief PayResultCode enum, with inline docs */ +typedef enum +{ + kPaySuccess = 0,/**< enum value is callback of succeeding in paying . */ + kPayFail,/**< enum value is callback of failing to pay . */ + kPayCancel,/**< enum value is callback of canceling to pay . */ + kPayNetworkError,/**< enum value is callback of network error . */ + kPayProductionInforIncomplete,/**< enum value is callback of incompleting info . */ + kPayInitSuccess,/**< enum value is callback of succeeding in initing sdk . */ + kPayInitFail,/**< enum value is callback of failing to init sdk . */ + kPayNowPaying,/**< enum value is callback of paying now . */ + kPayRechargeSuccess,/**< enum value is callback of succeeding in recharging. */ + kPayExtension = 30000 /**< enum value is extension code . */ +} PayResultCode; +/** @brief RequestResultCode enum, with inline docs */ +typedef enum +{ + kRequestSuccess = 31000,/**< enum value is callback of succeeding in paying . */ + kRequestFail/**< enum value is callback of failing to pay . */ +} RequestResultCode; +/**    + *@class  PayResultListener + *@brief the interface of pay callback   + */ +class PayResultListener +{ +public: + /**    + *@brief the interface of pay callback  + *@param the id of callback + *@param the information of callback + *@param the info of pay + */ + virtual void onPayResult(PayResultCode ret, const char* msg, TProductInfo info) = 0; + /** + *@brief the interface of request callback + *@param the id of callback + *@param the information of callback + *@param the info of request product + */ + virtual void onRequestResult(RequestResultCode ret, const char* msg, AllProductsInfo info) {} +}; +/**    + *@class  ProtocolIAP + *@brief the interface of pay    + */ + +class ProtocolIAP : public PluginProtocol +{ +public: + + /** + @brief pay for product + @param info The info of product, must contains key: + productName The name of product + productPrice The price of product(must can be parse to float) + 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) = 0; + /** + @brief get order id + @return the order id + */ + virtual std::string getOrderId() = 0; + + /** + @breif set the result listener + @param pListener The callback object for pay result + @wraning Must invoke this interface before payForProduct. + */ + virtual void setResultListener(PayResultListener* pListener) = 0; + + virtual PayResultListener* getPayListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + /** + @brief change the state of paying + @param the state + */ + + static void resetPayState() + { + _paying = false; + } + static bool _paying; + + + +}; + + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_IAP_H__ */ diff --git a/android/armeabi/include/anysdk/ProtocolPush.h b/android/armeabi/include/anysdk/ProtocolPush.h new file mode 100644 index 00000000..e9e2fac8 --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolPush.h @@ -0,0 +1,104 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PROTOCOL_PUSH_H__ +#define __CCX_PROTOCOL_PUSH_H__ + +#include "PluginProtocol.h" +#include +#include +#include +using namespace std; + +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kPushReceiveMessage = 0,/**value is callback of Receiving Message . */ + kPushExtensionCode = 60000 /**< enum value is extension code . */ + + +} PushActionResultCode; +class ProtocolPush; +/**    + *@class  PushActionListener + *@brief the interface of Push callback   + */ +class PushActionListener +{ +public: + /**    + *@brief the interface of Push callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolPush* pPlugin, PushActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolPush   + */ +class ProtocolPush : public PluginProtocol +{ +public: + + + /** + *@brief start/register Push services + *@return void + */ + virtual void startPush() = 0 ; + + + /** + *@brief close Push services + *@return void + */ + virtual void closePush() = 0 ; + + + /** + *@brief set alias + *@param tags + *@return void + */ + virtual void setAlias(string alias) = 0; + + /** + *@brief del alias + *@param tags + *@return void + */ + virtual void delAlias(string alias) = 0; + + /** + *@brief set tag + *@param tags + *@return void + */ + virtual void setTags(list tags) = 0; + + /** + *@brief delete tag + *@param tags + *@return void + */ + virtual void delTags(list tags) = 0; + + /** + @brief set the result listener + @param pListener The callback object for push result + */ + virtual void setActionListener(PushActionListener* listener) = 0 ; + + /** + @brief get pListener The callback object for Push result + @return the listener + */ + virtual PushActionListener* getActionListener() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_PUSH_H__ */ diff --git a/android/armeabi/include/anysdk/ProtocolREC.h b/android/armeabi/include/anysdk/ProtocolREC.h new file mode 100644 index 00000000..b0db2c0d --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolREC.h @@ -0,0 +1,83 @@ +/** @file ProtocolREC.h + */ +#ifndef __CCX_PROTOCOL_REC_H__ +#define __CCX_PROTOCOL_REC_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { + +typedef std::map TVideoInfo; + +/** @brief RECResultCode enum, with inline docs */ +typedef enum +{ + kRECInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk . */ + kRECInitFail,/**< enum value is callback of failing to init sdk. */ + kRECStartRecording,/**< enum value is callback of starting to record. */ + kRECStopRecording,/**< enum value is callback of stoping to record. */ + kRECPauseRecording,/**< enum value is callback of pausing to record. */ + kRECResumeRecording,/**< enum value is callback of resuming to record. */ + kRECEnterSDKPage,/**< enum value is callback of entering SDK`s page. */ + kRECQuitSDKPage,/**< enum value is callback of quiting SDK`s page. */ + kRECShareSuccess,/**< enum value is callback of succeeding in sharing. */ + kRECShareFail,/**< enum value is callback of failing to share. */ + kRECExtension = 90000 /**< enum value is extension code . */ +} RECResultCode; +/**    + *@class  RECResultListener + *@brief the interface of REC callback   + */ +class RECResultListener +{ +public: + /**    + *@brief the interface of REC callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onRECResult(RECResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolREC + *@brief the interface of REC   + */ +class ProtocolREC : public PluginProtocol +{ +public: + + /** + * @Description: Start to record video + */ + virtual void startRecording() = 0; + + /** + * @Description: Stop to record video + */ + virtual void stopRecording() = 0; + + /** + * @Description: share video + * @Param info The info of share + */ + virtual void share(TVideoInfo info) = 0; + + + + /** + @breif set the result listener + @param pListener The callback object for REC result + @wraning Must invoke this interface before REC + */ + virtual void setResultListener(RECResultListener* pListener) = 0; + + virtual RECResultListener* getRECListener() = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/armeabi/include/anysdk/ProtocolShare.h b/android/armeabi/include/anysdk/ProtocolShare.h new file mode 100644 index 00000000..2215a4ff --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolShare.h @@ -0,0 +1,72 @@ +/** @file ProtocolShare.h + */ +#ifndef __CCX_PROTOCOL_SHARE_H__ +#define __CCX_PROTOCOL_SHARE_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TShareDeveloperInfo +/// typedef TShareDeveloperInfo. +typedef std::map TShareDeveloperInfo; +/// \typedef std::map TShareInfo +/// typedef TShareInfo. +typedef std::map TShareInfo; +/** @brief ShareResultCode enum, with inline docs */ +typedef enum +{ + kShareSuccess = 0,/**< enum value is callback of failing to sharing . */ + kShareFail,/**< enum value is callback of failing to share . */ + kShareCancel,/**< enum value is callback of canceling to share . */ + kShareNetworkError,/**< enum value is callback of network error . */ + kShareExtension = 10000 /**< enum value is extension code . */ +} ShareResultCode; +/**    + *@class  ShareResultListener + *@brief the interface of share callback   + */ +class ShareResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onShareResult(ShareResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolShare + *@brief the interface of share   + */ +class ProtocolShare : public PluginProtocol +{ +public: + + + + /** + @brief share information + @param info The info of share, contains key: + SharedText The text need to share + SharedImagePath The full path of image file need to share (optinal) + @warning For different plugin, the parameter should have other keys to share. + Look at the manual of plugins. */ + virtual void share(TShareInfo info) = 0; + + /** + @breif set the result listener + @param pListener The callback object for share result + @wraning Must invoke this interface before share + */ + virtual void setResultListener(ShareResultListener* pListener) = 0; + + virtual ShareResultListener* getShareListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/armeabi/include/anysdk/ProtocolSocial.h b/android/armeabi/include/anysdk/ProtocolSocial.h new file mode 100644 index 00000000..3fa5639b --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolSocial.h @@ -0,0 +1,105 @@ +/** @file ProtocolSocial.h + */ +#ifndef __CCX_PROTOCOL_SOCIAL_H__ +#define __CCX_PROTOCOL_SOCIAL_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TSocialDeveloperInfo +/// typedef TSocialDeveloperInfo. +typedef std::map TSocialDeveloperInfo; +/// \typedef std::map TAchievementInfo +/// typedef TAchievementInfo. +typedef std::map TAchievementInfo; +/** @brief SocialRetCode enum, with inline docs */ +typedef enum +{ + // code for leaderboard feature + kScoreSubmitSucceed =1,/**< enum value is callback of succeeding in submiting. */ + kScoreSubmitfail,/**< enum value is callback of failing to submit . */ + + // code for achievement feature + kAchUnlockSucceed,/**< enum value is callback of succeeding in unlocking. */ + kAchUnlockFail,/**< enum value is callback of failing to unlock. */ + + kSocialSignInSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignInFail,/**< enum value is callback of failing to login. */ + + kSocialSignOutSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignOutFail,/**< enum value is callback of failing to login. */ + kSocialGetGameFriends,/**< enum value is callback of getGameFriends. */ + kSocialExtensionCode = 20000 /**< enum value is extension code . */ + +} SocialRetCode; +/**    + *@class  SocialListener + *@brief the interface of social callback   + */ +class SocialListener +{ +public: + /**    + *@brief the interface of social callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onSocialResult(SocialRetCode code, const char* msg) = 0; +}; + +/**    + *@class  ProtocolSocial + *@brief the interface of social   + */ +class ProtocolSocial : public PluginProtocol +{ +public: + + /** + @brief user signIn + */ + virtual void signIn() = 0; + + /** + @brief user signOut + */ + virtual void signOut() = 0; + + /** + @brief submit the score + @param leaderboardID + @param the score + */ + virtual void submitScore(const char* leadboardID, long score) = 0; + /** + @brief show the id of Leaderboard page + @param leaderboardID + */ + virtual void showLeaderboard(const char* leaderboardID) = 0; + + /** + @brief methods of achievement feature + @param the info of achievement + */ + virtual void unlockAchievement(TAchievementInfo achInfo) = 0; + /** + @brief show the page of achievements + */ + virtual void showAchievements() = 0; + /** + @brief set pListener The callback object for social result + @param the listener + */ + virtual void setListener(SocialListener* listener) = 0; + /** + @brief get pListener The callback object for social result + @return the listener + */ + virtual SocialListener* getListener() = 0; +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SOCIAL_H__ ----- */ diff --git a/android/armeabi/include/anysdk/ProtocolUser.h b/android/armeabi/include/anysdk/ProtocolUser.h new file mode 100644 index 00000000..14752215 --- /dev/null +++ b/android/armeabi/include/anysdk/ProtocolUser.h @@ -0,0 +1,134 @@ +/** @file ProtocolUser.h + */ +#ifndef __CCX_PROTOCOL_USER_H__ +#define __CCX_PROTOCOL_USER_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TUserDeveloperInfo +/// typedef TUserDeveloperInfo. +typedef std::map TUserDeveloperInfo; +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk. */ + kInitFail,/**< enum value is callback of failing to init sdk. */ + kLoginSuccess,/**< enum value is callback of succeeding in login.*/ + kLoginNetworkError,/**< enum value is callback of network error*/ + kLoginNoNeed,/**< enum value is callback of no need login.*/ + kLoginFail,/**< enum value is callback of failing to login. */ + kLoginCancel,/**< enum value is callback of canceling to login. */ + kLogoutSuccess,/**< enum value is callback of succeeding in logout. */ + kLogoutFail,/**< enum value is callback of failing to logout. */ + kPlatformEnter,/**< enum value is callback after enter platform. */ + kPlatformBack,/**< enum value is callback after exit antiAddiction. */ + kPausePage,/**< enum value is callback after exit pause page. */ + kExitPage,/**< enum value is callback after exit exit page. */ + kAntiAddictionQuery,/**< enum value is callback after querying antiAddiction. */ + kRealNameRegister,/**< enum value is callback after registering realname. */ + kAccountSwitchSuccess,/**< enum value is callback of succeeding in switching account. */ + kAccountSwitchFail,/**< enum value is callback of failing to switch account. */ + kOpenShop,/**< enum value is callback of open the shop. */ + kAccountSwitchCancel,/**< enum value is callback of canceling to switch account. */ + kUserExtension = 50000 /**< enum value is extension code . */ + + +} UserActionResultCode; +/** @brief ToolBarPlace enum, with inline docs */ +typedef enum +{ + kToolBarTopLeft = 1,/**< enum the toolbar is at topleft. */ + kToolBarTopRight,/**< enum the toolbar is at topright. */ + kToolBarMidLeft,/**< enum the toolbar is at midleft. */ + kToolBarMidRight,/**< enum the toolbar is at midright. */ + kToolBarBottomLeft,/**< enum the toolbar is at bottomleft. */ + kToolBarBottomRight,/**< enum the toolbar is at bottomright. */ +} ToolBarPlace; + +class ProtocolUser; +/**    + *@class  UserActionListener + *@brief the interface of user callback   + */ +class UserActionListener +{ +public: + /**    + *@brief the interface of user callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolUser* pPlugin, UserActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolUser   + */ +class ProtocolUser : public PluginProtocol +{ +public: + + + /** + @brief User login + */ + virtual void login() = 0 ; + + /** + @brief User login + if the process of logining need to know the param of server_id , + you can use the function + and if you must change oauthloginserver, you can add the param of oauthLoginServer + @param server_id + @param oauthLoginServer + */ + + CC_DEPRECATED_ATTRIBUTE virtual void login(std::string server_id, std::string oauthLoginServer = "") = 0 ; + + /** + @brief User login + if the process of logining need to know the parameters , + you can use the function + @param the parameters + */ + virtual void login(std::map info) = 0 ; + + /** + @brief Check whether the user logined or not + @return If user logined, return value is true; + else return value is false. + */ + virtual bool isLogined() = 0 ; + + /** + @brief Get USER ID + @return If user logined, return value is userID; + else return value is empty string. + */ + virtual std::string getUserID() = 0 ; + /** + @brief set the result listener + @param pListener The callback object for user result + */ + virtual void setActionListener(UserActionListener* listener) = 0 ; + /** + @brief get pListener The callback object for user result + @return the listener + */ + virtual UserActionListener* getActionListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_USER_H__ */ diff --git a/android/armeabi/include/anysdk/Statistics.h b/android/armeabi/include/anysdk/Statistics.h new file mode 100644 index 00000000..bb389ff0 --- /dev/null +++ b/android/armeabi/include/anysdk/Statistics.h @@ -0,0 +1,18 @@ +#ifndef __STATISTICS_H__ +#define __STATISTICS_H__ + +#include +namespace anysdk { namespace framework { + +class Statistics +{ +public: + static void initInfo(); + static void createPlugin(std::string pluginName, int pluginType); + static void callFunction(std::string pluginName, std::string functionName); + +}; + +}} // namespace anysdk { namespace framework { + +#endif //__STATISTICS_H__ diff --git a/android/armeabi/libPluginProtocolStatic.a b/android/armeabi/libPluginProtocolStatic.a new file mode 100644 index 0000000000000000000000000000000000000000..db674bbed8316f135ac1c68c86f49837043b0ba0 GIT binary patch literal 828924 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 z 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 (BoAz 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± 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

2pHVAzy6`oAD4+i*437Z^fSOZA~jG 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

7CbOR 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 oc|` +#include +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum { + kPluginAds = 16,/**< enum value is the type of Ads. */ + kPluginAnalytics = 1,/**< enum value is the type of Analytics. */ + kPluginIAP = 8,/**< enum value is the type of IAP. */ + kPluginShare = 2,/**< enum value is the type of Share. */ + kPluginUser = 32,/**< enum value is the type of User. */ + kPluginSocial = 4,/**< enum value is the type of Social. */ + kPluginPush = 64,/**< enum value is the type of Push. */ + kPluginCrash = 128,/**< enum value is the type of Crash. */ + kPluginCustom = 256,/**< enum value is the type of Custom. */ + kPluginREC = 512,/**< enum value is the type of REC. */ + kPluginAdTracking = 1024,/**< enum value is the type of AdTracking. */ +}Plugin_type; +/**    + *  @class  AgentManager   + */ +class AgentManager +{ +public: + virtual ~AgentManager(); + /** + @brief Get singleton of AgentManager + */ + + static AgentManager* getInstance(); + /** + @brief Destory the instance of AgentManager + */ + static void end(); + + /** + @breif the init of AgentManager + @param the appKey of anysdk + @param the appSecret of anysdk + @param the privateKey of anysdk + @param the url of oauthLoginServer + @warning Must invoke this interface before loadAllPlugins + */ + void init(std::string appKey,std::string appSecret,std::string privateKey,std::string oauthLoginServer); + + /** + @brief load the plugins + */ + CC_DEPRECATED_ATTRIBUTE void loadALLPlugin(); + /** + @brief unload the plugins + */ + CC_DEPRECATED_ATTRIBUTE void unloadALLPlugin(); + + /** + @brief load the plugins + */ + void loadAllPlugins(); + + /** + @brief unload the plugins + */ + void unloadAllPlugins(); + + /** + @brief Get Analytics plugin + @return if Analytics plugin exist ,return value is Analytics plugin. + else return value is null pointer. + */ + ProtocolAnalytics* getAnalyticsPlugin(){return _pAnalytics;}; + + /** + @brief Get User plugin + @return if User plugin exist ,return value is User plugin. + else return value is null pointer. + */ + ProtocolUser* getUserPlugin(){return _pUser;}; + + /** + @brief Get IAP plugin + @return if IAP plugin exist ,return value is IAP plugin. + else return value is null pointer. + */ + std::map* getIAPPlugin(){return &_pluginsIAPMap;}; + + /** + @brief Get Share plugin + @return if Share plugin exist ,return value is Share plugin. + else return value is null pointer. + */ + ProtocolShare* getSharePlugin(){return _pShare;}; + + /** + @brief Get Social plugin + @return if Social plugin exist ,return value is Social plugin. + else return value is null pointer. + */ + ProtocolSocial* getSocialPlugin(){return _pSocial;}; + + /** + @brief Get Ads plugin + @return if Ads plugin exist ,return value is Ads plugin. + else return value is null pointer. + */ + ProtocolAds* getAdsPlugin(){return _pAds;}; + + /** + @brief Get Push plugin + @return if Push plugin exist ,return value is Push plugin. + else return value is null pointer. + */ + ProtocolPush* getPushPlugin(){return _pPush;}; + + /** + @brief Get Crash plugin + @return if Crash plugin exist ,return value is Crash plugin. + else return value is null pointer. + */ + ProtocolCrash* getCrashPlugin(){return _pCrash;}; + + /** + @brief Get Custom plugin + @return if Crash plugin exist ,return value is Custom plugin. + else return value is null pointer. + */ + ProtocolCustom* getCustomPlugin(){return _pCustom;}; + + + /** + @brief Get REC plugin + @return if REC plugin exist ,return value is REC plugin. + else return value is null pointer. + */ + ProtocolREC* getRECPlugin(){return _pREC;}; + + /** + @brief Get AdTracking plugin + @return if AdTracking plugin exist ,return value is AdTracking plugin. + else return value is null pointer. + */ + ProtocolAdTracking* getAdTrackingPlugin(){return _pAdTracking;}; + + /** + @brief Get channel ID + @return return value is channel ID. + */ + std::string getChannelId(); + + /** + @brief Get custom param + @return return value is custom param for channel. + */ + std::string getCustomParam(); + + /** + @brief Get framework version + @return return value is the version of AnySDKFramework. + */ + std::string getFrameworkVersion(); + + /** + @Title: setIsAnaylticsEnabled + @Description: choose to open or close + @param @param enabled true or false + @return void + */ + void setIsAnaylticsEnabled(bool value){bIsAnaylticsEnabled = value;}; + /** + @Title: isAnaylticsEnabled + @Description: the status of Anayltics + @param @return true or false + @return boolean + */ + bool isAnaylticsEnabled(){return bIsAnaylticsEnabled;}; + + + void loadPlugin(const char* nodeName,int type); +protected: + void setDebugMode(bool flag); + std::string getSupportPlugin(); + void release(); + + +private: + AgentManager(void); + + // Analytics plugin + ProtocolAnalytics* _pAnalytics; + + // user plugin + ProtocolUser* _pUser; + + // IAP plugins + // ProtocolIAP* _pIAP; + std::map _pluginsIAPMap; + + // Share plugin + ProtocolShare* _pShare; + + // Social plugin + ProtocolSocial* _pSocial; + + // Ads plugin + ProtocolAds* _pAds; + + // Push plugin + ProtocolPush* _pPush; + + // Crash plugin + ProtocolCrash* _pCrash; + + // Custom plugin + ProtocolCustom* _pCustom; + + // REC plugin + ProtocolREC* _pREC; + + // AdTracking plugin + ProtocolAdTracking* _pAdTracking; + + bool bIsAnaylticsEnabled; + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_AGENTMANAGER_H__ */ diff --git a/android/x86/include/anysdk/JSBRelation.h b/android/x86/include/anysdk/JSBRelation.h new file mode 100644 index 00000000..7775b0dc --- /dev/null +++ b/android/x86/include/anysdk/JSBRelation.h @@ -0,0 +1,31 @@ +/** @file JSBRelation.h + */ +#ifndef __CCX_JSBRELATION_H__ +#define __CCX_JSBRELATION_H__ + +#include "PluginProtocol.h" +#include +#include +#include + +using namespace std; + +namespace anysdk { namespace framework { + +/**    + *  @class  JSBRelation   + */ +class JSBRelation +{ +public: + static string getMethodsOfPlugin(PluginProtocol* plugin); + + + + +private: +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_JSBRELATION_H__ */ diff --git a/android/x86/include/anysdk/PluginFactory.h b/android/x86/include/anysdk/PluginFactory.h new file mode 100644 index 00000000..79922c97 --- /dev/null +++ b/android/x86/include/anysdk/PluginFactory.h @@ -0,0 +1,41 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGIN_FACTORY_H__ +#define __CCX_PLUGIN_FACTORY_H__ + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginManager; +/**    + *  @class  PluginFactory   + */ +class PluginFactory +{ +public: + virtual ~PluginFactory(); + /** + @brief Get singleton of PluginFactory + */ + static PluginFactory* getInstance(); + + /** + @brief Destory the instance of PluginFactory + */ + static void purgeFactory(); + +private: + friend class PluginManager; + PluginFactory(void); + + /** + @brief create the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* createPlugin(const char* name, int pluginType); +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_FACTORY_H__ */ diff --git a/android/x86/include/anysdk/PluginJavaData.h b/android/x86/include/anysdk/PluginJavaData.h new file mode 100644 index 00000000..bd37b745 --- /dev/null +++ b/android/x86/include/anysdk/PluginJavaData.h @@ -0,0 +1,17 @@ +#ifndef __PLUGIN_JAVA_DATA_H__ +#define __PLUGIN_JAVA_DATA_H__ + +#include +#include + +namespace anysdk { namespace framework { + +typedef struct _PluginJavaData_ +{ + jobject jobj; + std::string jclassName; +} PluginJavaData; + +}} //namespace anysdk { namespace framework { + +#endif // __PLUGIN_JAVA_DATA_H__ diff --git a/android/x86/include/anysdk/PluginJniHelper.h b/android/x86/include/anysdk/PluginJniHelper.h new file mode 100644 index 00000000..82981907 --- /dev/null +++ b/android/x86/include/anysdk/PluginJniHelper.h @@ -0,0 +1,43 @@ +#ifndef __PLUGIN_JNI_HELPER_H__ +#define __PLUGIN_JNI_HELPER_H__ + +#include +#include + +namespace anysdk {namespace framework{ + +typedef struct PluginJniMethodInfo_ +{ + JNIEnv * env; + jclass classID; + jmethodID methodID; +} PluginJniMethodInfo; + +class PluginJniHelper +{ +public: + static JavaVM* getJavaVM(); + static void setJavaVM(JavaVM *javaVM); + static JNIEnv* getEnv(); + + static bool getStaticMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static bool getMethodInfo(PluginJniMethodInfo &methodinfo, const char *className, const char *methodName, const char *paramCode); + static std::string jstring2string(jstring jstr); + static jstring newStringUTF(JNIEnv* env, const std::string& utf8Str); + + static bool setClassLoaderFrom(jobject nativeActivityInstance); + + static jmethodID loadclassMethod_methodID; + static jobject classloader; + +private: + static JavaVM *_psJavaVM; + static bool getMethodInfo_DefaultClassLoader(PluginJniMethodInfo &methodinfo, + const char *className, + const char *methodName, + const char *paramCode); +}; + +}} + +#endif // __PLUGIN_JNI_HELPER_H__ diff --git a/android/x86/include/anysdk/PluginJniMacros.h b/android/x86/include/anysdk/PluginJniMacros.h new file mode 100644 index 00000000..eace0d9a --- /dev/null +++ b/android/x86/include/anysdk/PluginJniMacros.h @@ -0,0 +1,156 @@ +#ifndef __PLUGIN_JNI_MACROS_H__ +#define __PLUGIN_JNI_MACROS_H__ + +#define return_if_fails(cond) if (!(cond)) return; +#define return_val_if_fails(cond, ret) if(!(cond)) return (ret); + +#define CALL_BASERET_JAVA_FUNC_WITH_PARAM(retType, paramCode, param, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID, param); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_BASERET_JAVA_FUNC(retType, paramCode, retCode, defaultRet) \ +retType ret = defaultRet; \ +return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); \ +return_val_if_fails(pData != NULL, ret); \ + \ +PluginJniMethodInfo t; \ +if (PluginJniHelper::getMethodInfo(t \ + , pData->jclassName.c_str() \ + , funcName \ + , paramCode)) \ +{ \ + ret = t.env->Call##retCode##Method(pData->jobj, t.methodID); \ + t.env->DeleteLocalRef(t.classID); \ +} \ +return ret; \ + + +#define CALL_JAVA_FUNC_WITH_VALIST(retCode) \ +std::vector allParams; \ +if (NULL != param) \ +{ \ + allParams.push_back(param); \ + \ + va_list argp; \ + PluginParam* pArg = NULL; \ + va_start( argp, param ); \ + while (1) \ + { \ + pArg = va_arg(argp, PluginParam*); \ + if (pArg == NULL) \ + break; \ + \ + allParams.push_back(pArg); \ + } \ + va_end(argp); \ +} \ + \ +return call##retCode##FuncWithParam(funcName, allParams); \ + + +#define CALL_JAVA_FUNC(retType, retCode, defaultRet, jRetCode) \ +retType ret = defaultRet; \ +PluginJavaData* pData = PluginUtils::getPluginJavaData(this); \ +if (NULL == pData) { \ + PluginUtils::outputLog(ANDROID_LOG_ERROR, "PluginProtocol", "Can't find java data for plugin : %s", this->getPluginName()); \ + return ret; \ +} \ + \ +std::string paramCode; \ +int nParamNum = params.size(); \ +if (0 == nParamNum) \ +{ \ + paramCode = "()"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName(this, funcName); \ +} else \ +{ \ + PluginParam* pRetParam = NULL; \ + bool needDel = false; \ + if (nParamNum == 1) { \ + pRetParam = params[0]; \ + } else { \ + std::map allParams; \ + for (int i = 0; i < nParamNum; i++) \ + { \ + PluginParam* pArg = params[i]; \ + if (pArg == NULL) \ + { \ + break; \ + } \ + \ + char strKey[8] = { 0 }; \ + sprintf(strKey, "Param%d", i + 1); \ + allParams[strKey] = pArg; \ + } \ + \ + pRetParam = new PluginParam(allParams); \ + needDel = true; \ + } \ + \ + switch(pRetParam->getCurrentType()) \ + { \ + case PluginParam::kParamTypeInt: \ + paramCode = "(I)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getIntValue()); \ + break; \ + case PluginParam::kParamTypeFloat: \ + paramCode = "(F)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getFloatValue()); \ + break; \ + case PluginParam::kParamTypeBool: \ + paramCode = "(Z)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), pRetParam->getBoolValue()); \ + break; \ + case PluginParam::kParamTypeString: \ + { \ + jstring jstr = PluginJniHelper::newStringUTF(PluginUtils::getEnv(), pRetParam->getStringValue()); \ + paramCode = "(Ljava/lang/String;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jstr); \ + PluginUtils::getEnv()->DeleteLocalRef(jstr); \ + } \ + break; \ + case PluginParam::kParamTypeStringMap: \ + case PluginParam::kParamTypeMap: \ + { \ + jobject jMap = PluginUtils::getJObjFromParam(pRetParam); \ + paramCode = "(Lorg/json/JSONObject;)"; \ + paramCode.append(jRetCode); \ + ret = PluginUtils::callJava##retCode##FuncWithName_oneParam(this, funcName, paramCode.c_str(), jMap); \ + PluginUtils::getEnv()->DeleteLocalRef(jMap); \ + } \ + break; \ + default: \ + break; \ + } \ + \ + if (needDel && pRetParam != NULL) \ + { \ + delete pRetParam; \ + pRetParam = NULL; \ + } \ +} \ +return ret; \ + + +#endif // __PLUGIN_JNI_MACROS_H__ diff --git a/android/x86/include/anysdk/PluginManager.h b/android/x86/include/anysdk/PluginManager.h new file mode 100644 index 00000000..93282ae7 --- /dev/null +++ b/android/x86/include/anysdk/PluginManager.h @@ -0,0 +1,51 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PLUGINMANAGER_H__ +#define __CCX_PLUGINMANAGER_H__ + +#include "PluginProtocol.h" +#include "PluginFactory.h" +#include +#include + +namespace anysdk { namespace framework { + +/**    + *  @class  PluginManager   + */ +class PluginManager +{ +public: + virtual ~PluginManager(); + /** + @brief Get singleton of PluginManager + */ + static PluginManager* getInstance(); + /** + @brief Destory the instance of PluginManager + */ + static void end(); + + /** + @brief load the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + PluginProtocol* loadPlugin(const char* name, int pluginType); + /** + @brief unload the plugin by name and type + @param the name of plugin + @param the type of plugin + */ + void unloadPlugin(const char* name, int pluginType = 0); + + +private: + PluginManager(void); + std::map _pluginsMap; +// bool _isDebug; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGINMANAGER_H__ */ diff --git a/android/x86/include/anysdk/PluginParam.h b/android/x86/include/anysdk/PluginParam.h new file mode 100644 index 00000000..1f35d4a7 --- /dev/null +++ b/android/x86/include/anysdk/PluginParam.h @@ -0,0 +1,126 @@ +/** @file PluginParam.h + */ +#ifndef __CCX_PLUGIN_PARAM_H__ +#define __CCX_PLUGIN_PARAM_H__ + +#include +#include +/// \typedef std::map StringMap +/// typedef YString. +typedef std::map StringMap; + +namespace anysdk { namespace framework { + +class PluginProtocol; +/**    + *  @class  PluginParam   + */ +class PluginParam +{ +public: + /** + @brief the default constructor of PluginParam + */ + PluginParam(); + + virtual ~PluginParam(); + /** + @brief the constructor of PluginParam + @param the value is Integer + */ + PluginParam(int nValue); + /** + @brief the constructor of PluginParam + @param the value is float + */ + PluginParam(float fValue); + /** + @brief the constructor of PluginParam + @param the value is boolean + */ + PluginParam(bool bValue); + /** + @brief the default constructor of PluginParam + @param the value is char + */ + PluginParam(const char* strValue); + /** + @brief the default constructor of PluginParam + @param the value is StringMap + */ + PluginParam(StringMap strMapValue); + + typedef enum{ + kParamTypeNull = 0, + kParamTypeInt, + kParamTypeFloat, + kParamTypeBool, + kParamTypeString, + kParamTypeStringMap, + kParamTypeMap, + } ParamType; + /** + @brief get the ParamType of value + */ + inline ParamType getCurrentType() { + return _type; + } + /** + @brief get the int value + */ + inline int getIntValue() { + return _intValue; + } + /** + @brief get the float value + */ + inline float getFloatValue() { + return _floatValue; + } + /** + @brief get the boolean value + */ + inline bool getBoolValue() { + return _boolValue; + } + /** + @brief get the char value + */ + inline const char* getStringValue() { + return _strValue.c_str(); + } + /** + @brief get the map of value + */ + inline std::map getMapValue() { + return _mapValue; + } + /** + @brief get the StringMap value + */ + inline StringMap getStrMapValue() { + return _strMapValue; + } + +private: + friend class PluginProtocol; + /** + @brief the constructor of PluginParam + @param the map of value + */ + PluginParam(std::map mapValue); + +private: + ParamType _type; + + int _intValue; + float _floatValue; + bool _boolValue; + std::string _strValue; + std::map _mapValue; + StringMap _strMapValue; +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_PLUGIN_PARAM_H__ */ diff --git a/android/x86/include/anysdk/PluginProtocol.h b/android/x86/include/anysdk/PluginProtocol.h new file mode 100644 index 00000000..95cf706d --- /dev/null +++ b/android/x86/include/anysdk/PluginProtocol.h @@ -0,0 +1,144 @@ +/** @file PluginProtocol.h + */ +#ifndef __CCX_IPLUGIN_H__ +#define __CCX_IPLUGIN_H__ + +#include "PluginParam.h" +#include + +#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) +#define CC_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#elif _MSC_VER >= 1400 //vs 2005 or higher +#define CC_DEPRECATED_ATTRIBUTE __declspec(deprecated) +#else +#define CC_DEPRECATED_ATTRIBUTE +#endif + +namespace anysdk { namespace framework { + +/** + * @class PluginProtocol + * @brief The super class for all plugins. + */ +class PluginProtocol +{ +public: + virtual ~PluginProtocol() {}; + + /** + *@brief set plugin name + *@param the name of plugin + */ + virtual void setPluginName(const char* name) = 0 ; + /** + *@brief get plugin name + *@return the name of plugin + */ + virtual const char* getPluginName() = 0 ; + + /** + *@brief get the version of plugin + *@return the version of plugin + */ + virtual std::string getPluginVersion(); + /** + *@brief get the version of sdk + *@return the version of sdk + */ + virtual std::string getSDKVersion(); + + /** + *@brief switch debug plug-in on/off + *@param the value of on/off + */ + CC_DEPRECATED_ATTRIBUTE virtual void setDebugMode(bool bDebug); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return void + */ + virtual void callFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return void + */ + virtual void callFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return string + */ + virtual std::string callStringFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return int + */ + virtual int callIntFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return bool + */ + virtual bool callBoolFuncWithParam(const char* funcName, std::vector params); + + /** + *@brief methods for reflections + *@param function name + *@param PluginParam* param + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, PluginParam* param, ...); + /** + *@brief methods for reflections + *@param function name + *@param std::vector params + *@return float + */ + virtual float callFloatFuncWithParam(const char* funcName, std::vector params); + + /** + @brief Check function the plugin support or not + @param the name of plugin + @return if the function support ,return true + else retur false + */ + virtual bool isFunctionSupported(std::string functionName); + + +}; + +}} //namespace anysdk { namespace framework { + +#endif /* __CCX_IPLUGIN_H__ */ diff --git a/android/x86/include/anysdk/PluginUtils.h b/android/x86/include/anysdk/PluginUtils.h new file mode 100644 index 00000000..3742c161 --- /dev/null +++ b/android/x86/include/anysdk/PluginUtils.h @@ -0,0 +1,157 @@ +#ifndef __PLUGIN_UTILS_H__ +#define __PLUGIN_UTILS_H__ + +#include "PluginJniHelper.h" +#include "PluginJavaData.h" +#include +#include +#include "PluginParam.h" +#include "PluginJniMacros.h" +#include +//#include + +namespace anysdk { namespace framework { + +class PluginProtocol; +class PluginUtils +{ +public: +//cjh static void initPluginWrapper(android_app* app); + static jobject createJavaMapObject(std::map* paramMap); + static jobject createJavaListObject(std::list* paramList); + static void initJavaPlugin(PluginProtocol* pPlugin, jobject jObj, const char* className, int type); + static JNIEnv* getEnv(); + + static PluginJavaData* getPluginJavaData(PluginProtocol* pKeyObj); + static void setPluginJavaData(PluginProtocol* pKeyObj, PluginJavaData* pData, int type); + static void erasePluginJavaData(PluginProtocol* pKeyObj,int type); + static void erasePluginJavaData(std::string key); + + static PluginProtocol* getPluginPtr(std::string className); + + static jobject getJObjFromParam(PluginParam* param); + + // methods have no return value + template + static void callJavaFunctionWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + return_if_fails(paramCode != NULL && strlen(paramCode) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + t.env->CallVoidMethod(pData->jobj, t.methodID, param); + t.env->DeleteLocalRef(t.classID); + } + } + static void callJavaFunctionWithName(PluginProtocol* thiz, const char* funcName) + { + return_if_fails(funcName != NULL && strlen(funcName) > 0); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_if_fails(pData != NULL); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()V")) + { + t.env->CallVoidMethod(pData->jobj, t.methodID); + t.env->DeleteLocalRef(t.classID); + } + } + + // methods return value is string + template + static std::string callJavaStringFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + return_val_if_fails(paramCode != NULL && strlen(paramCode) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , paramCode)) + { + jstring strRet = (jstring)t.env->CallObjectMethod(pData->jobj, t.methodID, param); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + static std::string callJavaStringFuncWithName(PluginProtocol* thiz, const char* funcName) + { + std::string ret = ""; + return_val_if_fails(funcName != NULL && strlen(funcName) > 0, ret); + PluginJavaData* pData = PluginUtils::getPluginJavaData(thiz); + return_val_if_fails(pData != NULL, ret); + + PluginJniMethodInfo t; + if (PluginJniHelper::getMethodInfo(t + , pData->jclassName.c_str() + , funcName + , "()Ljava/lang/String;")) + { + jstring strRet = (jstring) t.env->CallObjectMethod(pData->jobj, t.methodID); + ret = PluginJniHelper::jstring2string(strRet); + t.env->DeleteLocalRef(t.classID); + } + return ret; + } + + // methods return value is int + template + static int callJavaIntFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(int, paramCode, param, Int, 0) + } + static int callJavaIntFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(int, "()I", Int, 0) + } + + // methods return value is float + template + static float callJavaFloatFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(float, paramCode, param, Float, 0.0f) + } + static float callJavaFloatFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(float, "()F", Float, 0.0f); + } + + // methods return value is bool + template + static bool callJavaBoolFuncWithName_oneParam(PluginProtocol* thiz, const char* funcName, const char* paramCode, T param) + { + CALL_BASERET_JAVA_FUNC_WITH_PARAM(bool, paramCode, param, Boolean, false) + } + static bool callJavaBoolFuncWithName(PluginProtocol* thiz, const char* funcName) + { + CALL_BASERET_JAVA_FUNC(bool, "()Z", Boolean, false) + } + + static void callJavaFunctionWithName_string_map(PluginProtocol* thiz, const char* funcName, const char* keyParam, std::map* paramMap); + + static void outputLog(int type, const char* logTag, const char* pFormat, ...); + static void output(int type, const char* logTag, const char* contents); + + static void resetLogLevel(); +private: + static std::string _logLevel; +}; + +}} // namespace anysdk { namespace framework { + +#endif //__PLUGIN_UTILS_H__ diff --git a/android/x86/include/anysdk/ProtocolAdTracking.h b/android/x86/include/anysdk/ProtocolAdTracking.h new file mode 100644 index 00000000..6fc557a2 --- /dev/null +++ b/android/x86/include/anysdk/ProtocolAdTracking.h @@ -0,0 +1,58 @@ +/** @file ProtocolAdTracking.h + */ +#ifndef __CCX_PROTOCOL_ADTRACKING_H__ +#define __CCX_PROTOCOL_ADTRACKING_H__ + +#include "PluginProtocol.h" +#include +namespace anysdk { namespace framework { +/**    + *@class  ProtocolAdTracking + *@brief the interface of AdTracking   + */ +class ProtocolAdTracking : public PluginProtocol +{ +public: + + /** + * + * @Title: onRegister + * @Description: Call this method if you want to track register events as happening during a section. + * @param userId user identifier + * @return void + */ + virtual void onRegister(const char* userId) = 0; + + /** + * + * @Title: onLogin + * @Description:Call this method if you want to track login events as happening during a section. + * @param userInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onLogin(std::map userInfo) = 0; + + /** + * + * @Title: onPay + * @Description: Call this method if you want to track pay events as happening during a section. + * @param productInfo The details of this parameters are already covered by document. + * @return void + */ + virtual void onPay(std::map productInfo) = 0; + + /** + * + * @Title: trackEvent + * @Description: Call this method if you want to track custom events with parameters as happening during a section. + * @param eventId The custom event name. + * @param paramMap The details of this parameters are already covered by document. + */ + virtual void trackEvent(const char* eventId, std::map* paramMap = NULL) = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_ADTRACKING_H__ ----- */ diff --git a/android/x86/include/anysdk/ProtocolAds.h b/android/x86/include/anysdk/ProtocolAds.h new file mode 100644 index 00000000..8e29987f --- /dev/null +++ b/android/x86/include/anysdk/ProtocolAds.h @@ -0,0 +1,133 @@ +/** @file ProtocolAds.h + */ +#ifndef __CCX_PROTOCOL_ADS_H__ +#define __CCX_PROTOCOL_ADS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TAdsDeveloperInfo +/// typedef TAdsDeveloperInfo. +typedef std::map TAdsDeveloperInfo; +/// \typedef std::map TAdsInfo +/// typedef TAdsInfo. +typedef std::map TAdsInfo; +/** @brief AdsResultCode enum, with inline docs */ +typedef enum +{ + kAdsReceived = 0, /**< enum the callback: the ad is received is at center. */ + + kAdsShown, /**< enum the callback: the advertisement dismissed. */ + kAdsDismissed, /**< enum the callback: the advertisement dismissed. */ + + kPointsSpendSucceed, /**< enum the callback: the points spend succeed. */ + kPointsSpendFailed, /**< enum the callback: the points spend failed. */ + + kNetworkError, /**< enum the callback of Network error at center. */ + kUnknownError, /**< enum the callback of Unknown error. */ + kOfferWallOnPointsChanged, /**< enum the callback of Changing the point of offerwall. */ + kRewardedVideoWithReward,/**< enum the callback of receiving the reward of rewardedvideo. */ + kInAppPurchaseFinished,/**< enum the callback of finishing IAP ad. */ + kAdsClicked,/**< enum the callback of the advertisement clicked. */ + kAdsExtension = 40000 /**< enum value is extension code . */ +} AdsResultCode; +/** @brief AdsPos enum, with inline docs */ +typedef enum { + kPosCenter = 0,/**< enum the toolbar is at center. */ + kPosTop,/**< enum the toolbar is at top. */ + kPosTopLeft,/**< enum the toolbar is at topleft. */ + kPosTopRight,/**< enum the toolbar is at topright. */ + kPosBottom,/**< enum the toolbar is at bottom. */ + kPosBottomLeft,/**< enum the toolbar is at bottomleft. */ + kPosBottomRight,/**< enum the toolbar is at bottomright. */ +} AdsPos; +/** @brief AdsType enum, with inline docs */ +typedef enum { + AD_TYPE_BANNER = 0,/**< enum value is banner ads . */ + AD_TYPE_FULLSCREEN,/**< enum value is fullscreen ads . */ + AD_TYPE_MOREAPP,/**< enum value is moreapp ads . */ + AD_TYPE_OFFERWALL,/**< enum value is offerwall ads . */ + AD_TYPE_REWARDEDVIDEO,/**< enum value is rewarded video ads . */ + AD_TYPE_NATIVEEXPRESS,/**< enum value is Native express ads . */ + AD_TYPE_NATIVEADVANCED,/**< enum value is Native advanced ads . */ +} AdsType; + +class ProtocolAds; +class AdsListener +{ +public: + /** + *@brief The advertisement request result + *@param the id of callback + *@param the information of callback + */ + virtual void onAdsResult(AdsResultCode code, const char* msg) = 0; +}; + +class ProtocolAds : public PluginProtocol +{ +public: + + + + /** + @brief show adview + @param the type of ads + @param the idx of ads + */ + virtual void showAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief Hide the adview + @param the type of ads + @param the idx of ads + */ + virtual void hideAds(AdsType adsType, int idx = 1) = 0; + + /** + @brief preload the adview + @param the type of ads + @param the idx of ads + */ + virtual void preloadAds(AdsType adsType, int idx = 1)= 0; + + /** + *@brief Query the points of player + *@return the point + */ + virtual float queryPoints() = 0; + + /** + *@brief Spend the points. + Use this method to notify server spend points. + *@param points Need spend number of points + */ + virtual void spendPoints(int points) = 0; + + /** + @brief set the Ads listener + @param pListener The callback object for Ads result + */ + virtual void setAdsListener(AdsListener* listener) = 0; + + /** + @brief get pListener The callback object for Ads result + @return the listener + */ + virtual AdsListener* getAdsListener() = 0; + + /** + @brief Is it supportive of this type of ads + @param the type of ads + @return if it is supportive ,return true + else retur false + */ + virtual bool isAdTypeSupported(AdsType adType) = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_ADS_H__ */ diff --git a/android/x86/include/anysdk/ProtocolAnalytics.h b/android/x86/include/anysdk/ProtocolAnalytics.h new file mode 100644 index 00000000..ce3372d6 --- /dev/null +++ b/android/x86/include/anysdk/ProtocolAnalytics.h @@ -0,0 +1,107 @@ +/** @file ProtocolAnalytics.h + */ +#ifndef __CCX_PROTOCOL_ANALYTICS_H__ +#define __CCX_PROTOCOL_ANALYTICS_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map LogEventParamPair +/// typedef LogEventParamPair. +typedef std::pair< std::string, std::string > LogEventParamPair; +/// \typedef std::map LogEventParamMap +/// typedef LogEventParamMap. +typedef std::map< std::string, std::string > LogEventParamMap; +typedef enum { + ANONYMOUS,/**< enum value is anonymous typek. */ + REGISTED,/**< enum value is registed type. */ + SINA_WEIBO,/**< enum value is sineweibo type. */ + TENCENT_WEIBO,/**< enum value is tecentweibo type */ + QQ,/**< enum value is qq type */ + ND91,/**< enum value is nd91 type. */ +} AccountType; +typedef enum { + LOGIN,/**< enum value is the login operate. */ + LOGOUT,/**< enum value is the logout operate. */ + REGISTER,/**< enum value is the register operate. */ +} AccountOperate; +typedef enum { + MALE,/**< enum value is male. */ + FEMALE,/**< enum value is female. */ + UNKNOWN,/**< enum value is unknow. */ + +} AccountGender; +typedef enum { + GUIDE_LINE,/**< enum value is the guideline type.. */ + MAIN_LINE,/**< enum value is the mainline type.. */ + BRANCH_LINE,/** +#include + +namespace anysdk { namespace framework { + +class ProtocolCrash : public PluginProtocol +{ +public: + /** + * set user identifier + * + * @param userInfo + */ + virtual void setUserIdentifier(const char* identifier) = 0; + + /** + * The uploader captured in exception information + * + * @param message Set the custom information + * @param exception The exception + */ + virtual void reportException(const char* message, const char* exception) = 0; + + /** + * customize logging + * + * @param string Custom log + */ + virtual void leaveBreadcrumb(const char* breadcrumb) = 0; + + + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_CRASH_H__ */ diff --git a/android/x86/include/anysdk/ProtocolCustom.h b/android/x86/include/anysdk/ProtocolCustom.h new file mode 100644 index 00000000..dc92558e --- /dev/null +++ b/android/x86/include/anysdk/ProtocolCustom.h @@ -0,0 +1,50 @@ +/** @file ProtocolCustom.h + */ +#ifndef __CCX_PROTOCOL_CUSTOM_H__ +#define __CCX_PROTOCOL_CUSTOM_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +typedef enum +{ + kCustomExtension = 80000 /**< enum value is extension code . */ +} CustomResultCode; +/**    + *@class  CustomResultListener + *@brief the interface of share callback   + */ +class CustomResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onCustomResult(CustomResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolCustom + *@brief the interface of custom   + */ +class ProtocolCustom : public PluginProtocol +{ +public: + + /** + @breif set the result listener + @param pListener The callback object for custom result + @wraning Must invoke this interface before custom + */ + virtual void setResultListener(CustomResultListener* pListener) = 0; + + virtual CustomResultListener* getCustomListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_Custom_H__ ----- */ diff --git a/android/x86/include/anysdk/ProtocolIAP.h b/android/x86/include/anysdk/ProtocolIAP.h new file mode 100644 index 00000000..4a875b32 --- /dev/null +++ b/android/x86/include/anysdk/ProtocolIAP.h @@ -0,0 +1,119 @@ +/** @file ProtocolIAP.h + */ +#ifndef __CCX_PROTOCOL_IAP_H__ +#define __CCX_PROTOCOL_IAP_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TIAPDeveloperInfo +/// typedef TIAPDeveloperInfo. +typedef std::map TIAPDeveloperInfo; +/// \typedef std::map TProductInfo +/// typedef TProductInfo. +typedef std::map TProductInfo; +/// typedef TProductsInfo. +typedef std::map AllProductsInfo; +/** @brief PayResultCode enum, with inline docs */ +typedef enum +{ + kPaySuccess = 0,/**< enum value is callback of succeeding in paying . */ + kPayFail,/**< enum value is callback of failing to pay . */ + kPayCancel,/**< enum value is callback of canceling to pay . */ + kPayNetworkError,/**< enum value is callback of network error . */ + kPayProductionInforIncomplete,/**< enum value is callback of incompleting info . */ + kPayInitSuccess,/**< enum value is callback of succeeding in initing sdk . */ + kPayInitFail,/**< enum value is callback of failing to init sdk . */ + kPayNowPaying,/**< enum value is callback of paying now . */ + kPayRechargeSuccess,/**< enum value is callback of succeeding in recharging. */ + kPayExtension = 30000 /**< enum value is extension code . */ +} PayResultCode; +/** @brief RequestResultCode enum, with inline docs */ +typedef enum +{ + kRequestSuccess = 31000,/**< enum value is callback of succeeding in paying . */ + kRequestFail/**< enum value is callback of failing to pay . */ +} RequestResultCode; +/**    + *@class  PayResultListener + *@brief the interface of pay callback   + */ +class PayResultListener +{ +public: + /**    + *@brief the interface of pay callback  + *@param the id of callback + *@param the information of callback + *@param the info of pay + */ + virtual void onPayResult(PayResultCode ret, const char* msg, TProductInfo info) = 0; + /** + *@brief the interface of request callback + *@param the id of callback + *@param the information of callback + *@param the info of request product + */ + virtual void onRequestResult(RequestResultCode ret, const char* msg, AllProductsInfo info) {} +}; +/**    + *@class  ProtocolIAP + *@brief the interface of pay    + */ + +class ProtocolIAP : public PluginProtocol +{ +public: + + /** + @brief pay for product + @param info The info of product, must contains key: + productName The name of product + productPrice The price of product(must can be parse to float) + 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) = 0; + /** + @brief get order id + @return the order id + */ + virtual std::string getOrderId() = 0; + + /** + @breif set the result listener + @param pListener The callback object for pay result + @wraning Must invoke this interface before payForProduct. + */ + virtual void setResultListener(PayResultListener* pListener) = 0; + + virtual PayResultListener* getPayListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + /** + @brief change the state of paying + @param the state + */ + + static void resetPayState() + { + _paying = false; + } + static bool _paying; + + + +}; + + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_IAP_H__ */ diff --git a/android/x86/include/anysdk/ProtocolPush.h b/android/x86/include/anysdk/ProtocolPush.h new file mode 100644 index 00000000..e9e2fac8 --- /dev/null +++ b/android/x86/include/anysdk/ProtocolPush.h @@ -0,0 +1,104 @@ +/** @file PluginFactory.h + */ +#ifndef __CCX_PROTOCOL_PUSH_H__ +#define __CCX_PROTOCOL_PUSH_H__ + +#include "PluginProtocol.h" +#include +#include +#include +using namespace std; + +namespace anysdk { namespace framework { +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kPushReceiveMessage = 0,/**value is callback of Receiving Message . */ + kPushExtensionCode = 60000 /**< enum value is extension code . */ + + +} PushActionResultCode; +class ProtocolPush; +/**    + *@class  PushActionListener + *@brief the interface of Push callback   + */ +class PushActionListener +{ +public: + /**    + *@brief the interface of Push callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolPush* pPlugin, PushActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolPush   + */ +class ProtocolPush : public PluginProtocol +{ +public: + + + /** + *@brief start/register Push services + *@return void + */ + virtual void startPush() = 0 ; + + + /** + *@brief close Push services + *@return void + */ + virtual void closePush() = 0 ; + + + /** + *@brief set alias + *@param tags + *@return void + */ + virtual void setAlias(string alias) = 0; + + /** + *@brief del alias + *@param tags + *@return void + */ + virtual void delAlias(string alias) = 0; + + /** + *@brief set tag + *@param tags + *@return void + */ + virtual void setTags(list tags) = 0; + + /** + *@brief delete tag + *@param tags + *@return void + */ + virtual void delTags(list tags) = 0; + + /** + @brief set the result listener + @param pListener The callback object for push result + */ + virtual void setActionListener(PushActionListener* listener) = 0 ; + + /** + @brief get pListener The callback object for Push result + @return the listener + */ + virtual PushActionListener* getActionListener() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_PUSH_H__ */ diff --git a/android/x86/include/anysdk/ProtocolREC.h b/android/x86/include/anysdk/ProtocolREC.h new file mode 100644 index 00000000..b0db2c0d --- /dev/null +++ b/android/x86/include/anysdk/ProtocolREC.h @@ -0,0 +1,83 @@ +/** @file ProtocolREC.h + */ +#ifndef __CCX_PROTOCOL_REC_H__ +#define __CCX_PROTOCOL_REC_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { + +typedef std::map TVideoInfo; + +/** @brief RECResultCode enum, with inline docs */ +typedef enum +{ + kRECInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk . */ + kRECInitFail,/**< enum value is callback of failing to init sdk. */ + kRECStartRecording,/**< enum value is callback of starting to record. */ + kRECStopRecording,/**< enum value is callback of stoping to record. */ + kRECPauseRecording,/**< enum value is callback of pausing to record. */ + kRECResumeRecording,/**< enum value is callback of resuming to record. */ + kRECEnterSDKPage,/**< enum value is callback of entering SDK`s page. */ + kRECQuitSDKPage,/**< enum value is callback of quiting SDK`s page. */ + kRECShareSuccess,/**< enum value is callback of succeeding in sharing. */ + kRECShareFail,/**< enum value is callback of failing to share. */ + kRECExtension = 90000 /**< enum value is extension code . */ +} RECResultCode; +/**    + *@class  RECResultListener + *@brief the interface of REC callback   + */ +class RECResultListener +{ +public: + /**    + *@brief the interface of REC callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onRECResult(RECResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolREC + *@brief the interface of REC   + */ +class ProtocolREC : public PluginProtocol +{ +public: + + /** + * @Description: Start to record video + */ + virtual void startRecording() = 0; + + /** + * @Description: Stop to record video + */ + virtual void stopRecording() = 0; + + /** + * @Description: share video + * @Param info The info of share + */ + virtual void share(TVideoInfo info) = 0; + + + + /** + @breif set the result listener + @param pListener The callback object for REC result + @wraning Must invoke this interface before REC + */ + virtual void setResultListener(RECResultListener* pListener) = 0; + + virtual RECResultListener* getRECListener() = 0; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/x86/include/anysdk/ProtocolShare.h b/android/x86/include/anysdk/ProtocolShare.h new file mode 100644 index 00000000..2215a4ff --- /dev/null +++ b/android/x86/include/anysdk/ProtocolShare.h @@ -0,0 +1,72 @@ +/** @file ProtocolShare.h + */ +#ifndef __CCX_PROTOCOL_SHARE_H__ +#define __CCX_PROTOCOL_SHARE_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TShareDeveloperInfo +/// typedef TShareDeveloperInfo. +typedef std::map TShareDeveloperInfo; +/// \typedef std::map TShareInfo +/// typedef TShareInfo. +typedef std::map TShareInfo; +/** @brief ShareResultCode enum, with inline docs */ +typedef enum +{ + kShareSuccess = 0,/**< enum value is callback of failing to sharing . */ + kShareFail,/**< enum value is callback of failing to share . */ + kShareCancel,/**< enum value is callback of canceling to share . */ + kShareNetworkError,/**< enum value is callback of network error . */ + kShareExtension = 10000 /**< enum value is extension code . */ +} ShareResultCode; +/**    + *@class  ShareResultListener + *@brief the interface of share callback   + */ +class ShareResultListener +{ +public: + /**    + *@brief the interface of share callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onShareResult(ShareResultCode ret, const char* msg) = 0; +}; +/**    + *@class  ProtocolShare + *@brief the interface of share   + */ +class ProtocolShare : public PluginProtocol +{ +public: + + + + /** + @brief share information + @param info The info of share, contains key: + SharedText The text need to share + SharedImagePath The full path of image file need to share (optinal) + @warning For different plugin, the parameter should have other keys to share. + Look at the manual of plugins. */ + virtual void share(TShareInfo info) = 0; + + /** + @breif set the result listener + @param pListener The callback object for share result + @wraning Must invoke this interface before share + */ + virtual void setResultListener(ShareResultListener* pListener) = 0; + + virtual ShareResultListener* getShareListener() = 0; + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SHARE_H__ ----- */ diff --git a/android/x86/include/anysdk/ProtocolSocial.h b/android/x86/include/anysdk/ProtocolSocial.h new file mode 100644 index 00000000..3fa5639b --- /dev/null +++ b/android/x86/include/anysdk/ProtocolSocial.h @@ -0,0 +1,105 @@ +/** @file ProtocolSocial.h + */ +#ifndef __CCX_PROTOCOL_SOCIAL_H__ +#define __CCX_PROTOCOL_SOCIAL_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TSocialDeveloperInfo +/// typedef TSocialDeveloperInfo. +typedef std::map TSocialDeveloperInfo; +/// \typedef std::map TAchievementInfo +/// typedef TAchievementInfo. +typedef std::map TAchievementInfo; +/** @brief SocialRetCode enum, with inline docs */ +typedef enum +{ + // code for leaderboard feature + kScoreSubmitSucceed =1,/**< enum value is callback of succeeding in submiting. */ + kScoreSubmitfail,/**< enum value is callback of failing to submit . */ + + // code for achievement feature + kAchUnlockSucceed,/**< enum value is callback of succeeding in unlocking. */ + kAchUnlockFail,/**< enum value is callback of failing to unlock. */ + + kSocialSignInSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignInFail,/**< enum value is callback of failing to login. */ + + kSocialSignOutSucceed,/**< enum value is callback of succeeding to login. */ + kSocialSignOutFail,/**< enum value is callback of failing to login. */ + kSocialGetGameFriends,/**< enum value is callback of getGameFriends. */ + kSocialExtensionCode = 20000 /**< enum value is extension code . */ + +} SocialRetCode; +/**    + *@class  SocialListener + *@brief the interface of social callback   + */ +class SocialListener +{ +public: + /**    + *@brief the interface of social callback  + *@param the id of callback + *@param the information of callback + */ + virtual void onSocialResult(SocialRetCode code, const char* msg) = 0; +}; + +/**    + *@class  ProtocolSocial + *@brief the interface of social   + */ +class ProtocolSocial : public PluginProtocol +{ +public: + + /** + @brief user signIn + */ + virtual void signIn() = 0; + + /** + @brief user signOut + */ + virtual void signOut() = 0; + + /** + @brief submit the score + @param leaderboardID + @param the score + */ + virtual void submitScore(const char* leadboardID, long score) = 0; + /** + @brief show the id of Leaderboard page + @param leaderboardID + */ + virtual void showLeaderboard(const char* leaderboardID) = 0; + + /** + @brief methods of achievement feature + @param the info of achievement + */ + virtual void unlockAchievement(TAchievementInfo achInfo) = 0; + /** + @brief show the page of achievements + */ + virtual void showAchievements() = 0; + /** + @brief set pListener The callback object for social result + @param the listener + */ + virtual void setListener(SocialListener* listener) = 0; + /** + @brief get pListener The callback object for social result + @return the listener + */ + virtual SocialListener* getListener() = 0; +}; + +}} // namespace anysdk { namespace framework { + +#endif /* ----- #ifndef __CCX_PROTOCOL_SOCIAL_H__ ----- */ diff --git a/android/x86/include/anysdk/ProtocolUser.h b/android/x86/include/anysdk/ProtocolUser.h new file mode 100644 index 00000000..14752215 --- /dev/null +++ b/android/x86/include/anysdk/ProtocolUser.h @@ -0,0 +1,134 @@ +/** @file ProtocolUser.h + */ +#ifndef __CCX_PROTOCOL_USER_H__ +#define __CCX_PROTOCOL_USER_H__ + +#include "PluginProtocol.h" +#include +#include + +namespace anysdk { namespace framework { +/// \typedef std::map TUserDeveloperInfo +/// typedef TUserDeveloperInfo. +typedef std::map TUserDeveloperInfo; +/** @brief Plugin_type enum, with inline docs */ +typedef enum +{ + kInitSuccess = 0,/**< enum value is callback of succeeding in initing sdk. */ + kInitFail,/**< enum value is callback of failing to init sdk. */ + kLoginSuccess,/**< enum value is callback of succeeding in login.*/ + kLoginNetworkError,/**< enum value is callback of network error*/ + kLoginNoNeed,/**< enum value is callback of no need login.*/ + kLoginFail,/**< enum value is callback of failing to login. */ + kLoginCancel,/**< enum value is callback of canceling to login. */ + kLogoutSuccess,/**< enum value is callback of succeeding in logout. */ + kLogoutFail,/**< enum value is callback of failing to logout. */ + kPlatformEnter,/**< enum value is callback after enter platform. */ + kPlatformBack,/**< enum value is callback after exit antiAddiction. */ + kPausePage,/**< enum value is callback after exit pause page. */ + kExitPage,/**< enum value is callback after exit exit page. */ + kAntiAddictionQuery,/**< enum value is callback after querying antiAddiction. */ + kRealNameRegister,/**< enum value is callback after registering realname. */ + kAccountSwitchSuccess,/**< enum value is callback of succeeding in switching account. */ + kAccountSwitchFail,/**< enum value is callback of failing to switch account. */ + kOpenShop,/**< enum value is callback of open the shop. */ + kAccountSwitchCancel,/**< enum value is callback of canceling to switch account. */ + kUserExtension = 50000 /**< enum value is extension code . */ + + +} UserActionResultCode; +/** @brief ToolBarPlace enum, with inline docs */ +typedef enum +{ + kToolBarTopLeft = 1,/**< enum the toolbar is at topleft. */ + kToolBarTopRight,/**< enum the toolbar is at topright. */ + kToolBarMidLeft,/**< enum the toolbar is at midleft. */ + kToolBarMidRight,/**< enum the toolbar is at midright. */ + kToolBarBottomLeft,/**< enum the toolbar is at bottomleft. */ + kToolBarBottomRight,/**< enum the toolbar is at bottomright. */ +} ToolBarPlace; + +class ProtocolUser; +/**    + *@class  UserActionListener + *@brief the interface of user callback   + */ +class UserActionListener +{ +public: + /**    + *@brief the interface of user callback  + *@param the adatper of plugin + *@param the id of callback + *@param the information of callback + */ + virtual void onActionResult(ProtocolUser* pPlugin, UserActionResultCode code, const char* msg) = 0; +}; +/**    + *  @class  ProtocolUser   + */ +class ProtocolUser : public PluginProtocol +{ +public: + + + /** + @brief User login + */ + virtual void login() = 0 ; + + /** + @brief User login + if the process of logining need to know the param of server_id , + you can use the function + and if you must change oauthloginserver, you can add the param of oauthLoginServer + @param server_id + @param oauthLoginServer + */ + + CC_DEPRECATED_ATTRIBUTE virtual void login(std::string server_id, std::string oauthLoginServer = "") = 0 ; + + /** + @brief User login + if the process of logining need to know the parameters , + you can use the function + @param the parameters + */ + virtual void login(std::map info) = 0 ; + + /** + @brief Check whether the user logined or not + @return If user logined, return value is true; + else return value is false. + */ + virtual bool isLogined() = 0 ; + + /** + @brief Get USER ID + @return If user logined, return value is userID; + else return value is empty string. + */ + virtual std::string getUserID() = 0 ; + /** + @brief set the result listener + @param pListener The callback object for user result + */ + virtual void setActionListener(UserActionListener* listener) = 0 ; + /** + @brief get pListener The callback object for user result + @return the listener + */ + virtual UserActionListener* getActionListener() = 0 ; + + /** + @brief get plugin id + @return the plugin id + */ + virtual std::string getPluginId() = 0 ; + + +}; + +}} // namespace anysdk { namespace framework { + +#endif /* __CCX_PROTOCOL_USER_H__ */ diff --git a/android/x86/include/anysdk/Statistics.h b/android/x86/include/anysdk/Statistics.h new file mode 100644 index 00000000..bb389ff0 --- /dev/null +++ b/android/x86/include/anysdk/Statistics.h @@ -0,0 +1,18 @@ +#ifndef __STATISTICS_H__ +#define __STATISTICS_H__ + +#include +namespace anysdk { namespace framework { + +class Statistics +{ +public: + static void initInfo(); + static void createPlugin(std::string pluginName, int pluginType); + static void callFunction(std::string pluginName, std::string functionName); + +}; + +}} // namespace anysdk { namespace framework { + +#endif //__STATISTICS_H__ diff --git a/android/x86/libPluginProtocolStatic.a b/android/x86/libPluginProtocolStatic.a new file mode 100644 index 0000000000000000000000000000000000000000..dafd8ac7eb4fddab4c1e5f21195f4324d7d31c6b GIT binary patch literal 611968 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