API/Autodoc/Files/AndroidJavaObject.cpp.md
Source code
// Copyright Epic Games, Inc. All Rights Reserved.
#include "JavaMethodSignature.h"
using namespace RuStoreSDK;
AndroidJavaObject::AndroidJavaObject(FString className, bool bAsGlobalRef)
{
#if PLATFORM_ANDROID
env = FAndroidApplication::GetJavaEnv();
javaClass = FAndroidApplication::FindJavaClass(TCHAR_TO_ANSI(*className));
FString methodSignature = "()V";
jmethodID constructor = FJavaWrapper::FindMethod(env, javaClass, "<init>", TCHAR_TO_ANSI(*methodSignature), false);
javaObject = env->NewObject(javaClass, constructor);
if (bAsGlobalRef) javaObject = env->NewGlobalRef(javaObject);
bIsGlobalRef = bAsGlobalRef;
#endif
}
AndroidJavaObject::AndroidJavaObject(FString className, long cppPointer, bool bAsGlobalRef)
{
#if PLATFORM_ANDROID
env = FAndroidApplication::GetJavaEnv();
javaClass = FAndroidApplication::FindJavaClass(TCHAR_TO_ANSI(*className));
if (cppPointer != 0)
{
FString methodSignature = "(J)V";
jmethodID constructor = FJavaWrapper::FindMethod(env, javaClass, "<init>", TCHAR_TO_ANSI(*methodSignature), false);
javaObject = env->NewObject(javaClass, constructor, (jlong)cppPointer);
if (bAsGlobalRef) javaObject = env->NewGlobalRef(javaObject);
bIsGlobalRef = bAsGlobalRef;
}
else
{
this->className = className;
javaObject = NULL;
bIsGlobalRef = false;
}
#endif
}
#if PLATFORM_ANDROID
AndroidJavaObject::AndroidJavaObject(jthrowable throwable)
{
env = FAndroidApplication::GetJavaEnv();
javaClass = env->GetObjectClass(throwable);
javaObject = (jobject)throwable;
}
AndroidJavaObject::AndroidJavaObject(jobject javaObject)
{
env = FAndroidApplication::GetJavaEnv();
javaClass = !env->IsSameObject(javaObject, nullptr) ? env->GetObjectClass(javaObject) : nullptr;
this->javaObject = javaObject;
}
AndroidJavaObject::AndroidJavaObject(jobject javaObject, FString asInterface)
{
env = FAndroidApplication::GetJavaEnv();
javaClass = !env->IsSameObject(javaObject, nullptr) ? env->GetObjectClass(javaObject) : nullptr;
this->javaObject = javaObject;
className = asInterface;
}
AndroidJavaObject::AndroidJavaObject(jclass javaClass, jobject javaObject)
{
env = FAndroidApplication::GetJavaEnv();
this->javaClass = javaClass;
this->javaObject = javaObject;
}
jobject AndroidJavaObject::GetJObject()
{
return javaObject;
}
#endif
AndroidJavaObject::~AndroidJavaObject()
{
#if PLATFORM_ANDROID
if (!env->IsSameObject(javaObject, nullptr))
{
if (bIsGlobalRef) env->DeleteGlobalRef(javaObject);
}
if (bIsAttachThread) CurrentJavaVM()->DetachCurrentThread();
#endif
}
void AndroidJavaObject::SetInterfaceName(FString asInterface)
{
className = asInterface;
}
bool AndroidJavaObject::AttachCurrentThread()
{
#if PLATFORM_ANDROID
JNIEnv* newEnv = nullptr;
jint attachResult = CurrentJavaVM()->AttachCurrentThread(&env, nullptr);
bIsAttachThread = (attachResult == JNI_OK);
if (bIsAttachThread) env = newEnv;
#endif
return bIsAttachThread;
}
AndroidJavaObject* AndroidJavaObject::UpdateToGlobalRef()
{
#if PLATFORM_ANDROID
javaObject = env->NewGlobalRef(javaObject);
#endif
bIsGlobalRef = true;
return this;
}
FString AndroidJavaObject::GetName()
{
if (className == "") className = ExtractName();
return className;
}
FString AndroidJavaObject::ExtractName()
{
FString nameFString = "";
#if PLATFORM_ANDROID
jmethodID getNameMethodId = env->GetMethodID(javaClass, "getClass", "()Ljava/lang/Class;");
jobject classObject = env->CallObjectMethod(javaObject, getNameMethodId);
jclass objectClass = env->GetObjectClass(classObject);
jmethodID getNameId = env->GetMethodID(objectClass, "getName", "()Ljava/lang/String;");
jstring nameJString = (jstring)FJavaWrapper::CallObjectMethod(env, classObject, getNameId);
nameFString = FJavaHelper::FStringFromParam(env, nameJString);
#endif
return nameFString.Replace(TEXT("."), TEXT("/"));
}
template<typename T>
T* AndroidJavaObject::Get(FString fieldName)
{
#if PLATFORM_ANDROID
jfieldID javaFieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), "L");
T* result = nullptr;
if (javaFieldId != nullptr)
{
result = (T*)env->GetObjectField(javaObject, javaFieldId);
}
return result;
#endif
return nullptr;
}
int AndroidJavaObject::GetInt(FString fieldName)
{
int result = 0;
#if PLATFORM_ANDROID
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*JavaMethodSignature::getName(result)));
result = (int)env->GetIntField(javaObject, fieldId);
#endif
return result;
}
long AndroidJavaObject::GetLong(FString fieldName)
{
long result = 0;
#if PLATFORM_ANDROID
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*JavaMethodSignature::getName(result)));
result = (long)env->GetLongField(javaObject, fieldId);
#endif
return result;
}
bool AndroidJavaObject::GetBool(FString fieldName)
{
bool result = 0;
#if PLATFORM_ANDROID
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*JavaMethodSignature::getName(result)));
result = (long)env->GetBooleanField(javaObject, fieldId);
#endif
return result;
}
FString AndroidJavaObject::GetFString(FString fieldName)
{
FString result = "";
#if PLATFORM_ANDROID
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*JavaMethodSignature::getName(result)));
jstring strResult = (jstring)env->GetObjectField(javaObject, fieldId);
if (strResult != nullptr)
{
result = FJavaHelper::FStringFromParam(env, strResult);
}
#endif
return result;
}
int AndroidJavaObject::GetEnum(FString fieldName, FString signature)
{
int result = 0;
#if PLATFORM_ANDROID
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*JavaMethodSignature::getName(result)));
result = (int)env->GetIntField(javaObject, fieldId);
#endif
return result;
}
TArray<uint8>* AndroidJavaObject::GetByteArray(FString fieldName)
{
TArray<uint8>* result = new TArray<uint8>();
#if PLATFORM_ANDROID
FString signature = JavaMethodSignature::getName(result);
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*signature));
#ifdef RuStoreDebug
_LogInfo(RuStoreDebug, signature);
#endif
jbyteArray jArray = (jbyteArray)env->GetObjectField(javaObject, fieldId);
int length = env->GetArrayLength(jArray);
jbyte* data = env->GetByteArrayElements(jArray, nullptr);
for (int i = 0; i < length; i++) {
result->Add(static_cast<uint8>(data[i]));
}
env->ReleaseByteArrayElements(jArray, data, 0);
#endif
return result;
}
AndroidJavaObject* AndroidJavaObject::GetStaticAJObject(FString fieldName, FString className)
{
AndroidJavaObject* result = nullptr;
#if PLATFORM_ANDROID
JNIEnv* env = FAndroidApplication::GetJavaEnv();
jclass javaClass = FAndroidApplication::FindJavaClass(TCHAR_TO_ANSI(*className));
FString javaClassSignature = "L" + className + ";";
jfieldID javaFieldID = env->GetStaticFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*javaClassSignature));
jobject localRef = env->GetStaticObjectField(javaClass, javaFieldID);
if (localRef != nullptr)
{
result = new AndroidJavaObject(javaClass, localRef);
result->UpdateToGlobalRef();
}
#endif
return result;
}
AndroidJavaObject* AndroidJavaObject::GetAJObject(FString fieldName, FString signature)
{
if (signature == "")
{
AndroidJavaObject* _javaClass = this->CallAJClass("getClass");
FString _signature = "L" + _javaClass->CallFString("getName") + ";";
signature = _signature.Replace(TEXT("."), TEXT("/"));
delete _javaClass;
}
AndroidJavaObject* result = nullptr;
#ifdef RuStoreDebug
_LogInfo(RuStoreDebug, signature);
#endif
jfieldID fieldId = env->GetFieldID(javaClass, TCHAR_TO_ANSI(*fieldName), TCHAR_TO_ANSI(*signature));
jobject localRef = env->GetObjectField(javaObject, fieldId);
if (localRef != nullptr)
{
result = new AndroidJavaObject(localRef);
result->UpdateToGlobalRef();
}
#endif
return result;
}
AndroidJavaObject* AndroidJavaObject::GetAJObjectArrayElement(int i)
{
AndroidJavaObject* result = nullptr;
#if PLATFORM_ANDROID
jobjectArray arr = reinterpret_cast<jobjectArray>(javaObject);
jobject element = env->GetObjectArrayElement(arr, i);
if (element != nullptr)
{
result = new AndroidJavaObject(element);
result->UpdateToGlobalRef();
}
#endif
return result;
}
FString AndroidJavaObject::GetFStringArrayElement(int i)
{
FString result = "";
#if PLATFORM_ANDROID
jobjectArray arr = reinterpret_cast<jobjectArray>(javaObject);
jstring strResult = (jstring)env->GetObjectArrayElement(arr, i);
if (strResult != nullptr)
{
result = FJavaHelper::FStringFromParam(env, strResult);
}
#endif
return result;
}
FString RuStoreSDK::AndroidJavaObject::ConvertToFString()
{
FString result = "";
#if PLATFORM_ANDROID
jstring strResult = (jstring)javaObject;
result = FJavaHelper::FStringFromParam(env, strResult);
#endif
return result;
}
FString AndroidJavaObject::CallJavaClassFString(FString methodName)
{
FString nameFString = "";
#if PLATFORM_ANDROID
jmethodID getNameMethodId = env->GetMethodID(javaClass, "getClass", "()Ljava/lang/Class;");
jobject classObject = env->CallObjectMethod(javaObject, getNameMethodId);
jclass objectClass = env->GetObjectClass(classObject);
jmethodID nameMethodId = env->GetMethodID(objectClass, TCHAR_TO_ANSI(*methodName), "()Ljava/lang/String;");
jstring nameJString = (jstring)env->CallObjectMethod(classObject, nameMethodId);
nameFString = FJavaHelper::FStringFromParam(env, nameJString);
return nameFString;
#endif
return FString();
}
- Страницы
- AndroidJavaClass.cpp.en
- AndroidJavaClass.cpp
- AndroidJavaClass.h.en
- AndroidJavaClass.h
- AndroidJavaLog.cpp.en
- AndroidJavaLog.cpp
- AndroidJavaLog.h.en
- AndroidJavaLog.h
- AndroidJavaObject.cpp.en
- AndroidJavaObject.cpp
- AndroidJavaObject.h.en
- AndroidJavaObject.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- Callbacks.en
- Callbacks
- Callbacks_Files.en
- Callbacks_Files
- CancelTwoStepPurchaseResponseListenerImpl.cpp.en
- CancelTwoStepPurchaseResponseListenerImpl.cpp
- CancelTwoStepPurchaseResponseListenerImpl.h.en
- CancelTwoStepPurchaseResponseListenerImpl.h
- ConfirmTwoStepPurchaseResponseListenerImpl.cpp.en
- ConfirmTwoStepPurchaseResponseListenerImpl.cpp
- ConfirmTwoStepPurchaseResponseListenerImpl.h.en
- ConfirmTwoStepPurchaseResponseListenerImpl.h
- DataConverter.cpp.en
- DataConverter.cpp
- DataConverter.h.en
- DataConverter.h
- EURuStorePayAcknowledgementState.h.en
- EURuStorePayAcknowledgementState.h
- EURuStorePayPreferredPurchaseType.h.en
- EURuStorePayPreferredPurchaseType.h
- EURuStorePayProductPurchaseStatus.h.en
- EURuStorePayProductPurchaseStatus.h
- EURuStorePayProductType.h.en
- EURuStorePayProductType.h
- EURuStorePayPurchaseStatusFilter.h.en
- EURuStorePayPurchaseStatusFilter.h
- EURuStorePayPurchaseType.h.en
- EURuStorePayPurchaseType.h
- EURuStorePaySdkTheme.h.en
- EURuStorePaySdkTheme.h
- EURuStorePaySubscriptionPeriodType.h.en
- EURuStorePaySubscriptionPeriodType.h
- EURuStorePaySubscriptionPurchaseStatus.h.en
- EURuStorePaySubscriptionPurchaseStatus.h
- EURuStorePayUserAuthorizationStatus.h.en
- EURuStorePayUserAuthorizationStatus.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreError.cpp.en
- FURuStoreError.cpp
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStorePayPaymentException.cpp.en
- FURuStorePayPaymentException.cpp
- FURuStorePayPaymentException.h.en
- FURuStorePayPaymentException.h
- FURuStorePayProduct.h.en
- FURuStorePayProduct.h
- FURuStorePayProductPurchase.h.en
- FURuStorePayProductPurchase.h
- FURuStorePayProductPurchaseParams.h.en
- FURuStorePayProductPurchaseParams.h
- FURuStorePayProductPurchaseResult.h.en
- FURuStorePayProductPurchaseResult.h
- FURuStorePayPurchase.h.en
- FURuStorePayPurchase.h
- FURuStorePayPurchaseAvailabilityResult.h.en
- FURuStorePayPurchaseAvailabilityResult.h
- FURuStorePayPurchaseEventResult.h.en
- FURuStorePayPurchaseEventResult.h
- FURuStorePaySubscriptionPeriod.h.en
- FURuStorePaySubscriptionPeriod.h
- FURuStorePaySubscriptionPurchase.h.en
- FURuStorePaySubscriptionPurchase.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- GetUserAuthorizationStatusListenerImpl.cpp.en
- GetUserAuthorizationStatusListenerImpl.cpp
- GetUserAuthorizationStatusListenerImpl.h.en
- GetUserAuthorizationStatusListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- Internal.en
- Internal
- Internal_Files.en
- Internal_Files
- Java.en
- Java
- JavaActivity.cpp.en
- JavaActivity.cpp
- JavaActivity.h.en
- JavaActivity.h
- JavaApplication.cpp.en
- JavaApplication.cpp
- JavaApplication.h.en
- JavaApplication.h
- JavaMethodSignature.cpp.en
- JavaMethodSignature.cpp
- JavaMethodSignature.h.en
- JavaMethodSignature.h
- JavaTypeConverter.cpp.en
- JavaTypeConverter.cpp
- JavaTypeConverter.h.en
- JavaTypeConverter.h
- Java_Files.en
- Java_Files
- Model.en
- Model
- Model_Files.en
- Model_Files
- PaymentExceptionConverter.cpp.en
- PaymentExceptionConverter.cpp
- PaymentExceptionConverter.h.en
- PaymentExceptionConverter.h
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- ProductPurchaseResultListenerImpl.cpp.en
- ProductPurchaseResultListenerImpl.cpp
- ProductPurchaseResultListenerImpl.h.en
- ProductPurchaseResultListenerImpl.h
- ProductsResponseListenerImpl.cpp.en
- ProductsResponseListenerImpl.cpp
- ProductsResponseListenerImpl.h.en
- ProductsResponseListenerImpl.h
- Public.en
- Public
- Public_Files.en
- Public_Files
- PurchaseAvailabilityListenerImpl.cpp.en
- PurchaseAvailabilityListenerImpl.cpp
- PurchaseAvailabilityListenerImpl.h.en
- PurchaseAvailabilityListenerImpl.h
- PurchaseEventListenerImpl.cpp.en
- PurchaseEventListenerImpl.cpp
- PurchaseEventListenerImpl.h.en
- PurchaseEventListenerImpl.h
- PurchaseResponseListenerImpl.cpp.en
- PurchaseResponseListenerImpl.cpp
- PurchaseResponseListenerImpl.h.en
- PurchaseResponseListenerImpl.h
- PurchasesResponseListenerImpl.cpp.en
- PurchasesResponseListenerImpl.cpp
- PurchasesResponseListenerImpl.h.en
- PurchasesResponseListenerImpl.h
- ResponseListener.h.en
- ResponseListener.h
- RuStoreCore.Build.cs.en
- RuStoreCore.Build.cs
- RuStoreCore.cpp.en
- RuStoreCore.cpp
- RuStoreCore.h.en
- RuStoreCore.h
- RuStoreCoreUtils.java.en
- RuStoreCoreUtils.java
- RuStoreCore_Files.en
- RuStoreCore_Files
- RuStoreImage.java.en
- RuStoreImage.java
- RuStoreListener.cpp.en
- RuStoreListener.cpp
- RuStoreListener.h.en
- RuStoreListener.h
- RuStorePay.Build.cs.en
- RuStorePay.Build.cs
- RuStorePay.cpp.en
- RuStorePay.cpp
- RuStorePay.h.en
- RuStorePay.h
- RuStorePayIntentFilterActivity.java.en
- RuStorePayIntentFilterActivity.java
- RuStorePay_Files.en
- RuStorePay_Files
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStorePayAmountLabel.h.en
- URuStorePayAmountLabel.h
- URuStorePayAppUserEmail.h.en
- URuStorePayAppUserEmail.h
- URuStorePayAppUserId.h.en
- URuStorePayAppUserId.h
- URuStorePayCancelTwoStepPurchaseNode.cpp.en
- URuStorePayCancelTwoStepPurchaseNode.cpp
- URuStorePayCancelTwoStepPurchaseNode.h.en
- URuStorePayCancelTwoStepPurchaseNode.h
- URuStorePayClient.cpp.en
- URuStorePayClient.cpp
- URuStorePayClient.h.en
- URuStorePayClient.h
- URuStorePayConfirmTwoStepPurchaseNode.cpp.en
- URuStorePayConfirmTwoStepPurchaseNode.cpp
- URuStorePayConfirmTwoStepPurchaseNode.h.en
- URuStorePayConfirmTwoStepPurchaseNode.h
- URuStorePayCurrency.h.en
- URuStorePayCurrency.h
- URuStorePayDate.h.en
- URuStorePayDate.h
- URuStorePayDescription.h.en
- URuStorePayDescription.h
- URuStorePayDeveloperPayload.h.en
- URuStorePayDeveloperPayload.h
- URuStorePayGetProductsNode.h.en
- URuStorePayGetProductsNode.h
- URuStorePayGetProductstNode.cpp.en
- URuStorePayGetProductstNode.cpp
- URuStorePayGetPurchaseAvailabilityNode.cpp.en
- URuStorePayGetPurchaseAvailabilityNode.cpp
- URuStorePayGetPurchaseAvailabilityNode.h.en
- URuStorePayGetPurchaseAvailabilityNode.h
- URuStorePayGetPurchaseNode.cpp.en
- URuStorePayGetPurchaseNode.cpp
- URuStorePayGetPurchaseNode.h
- URuStorePayGetPurchasesNode.cpp.en
- URuStorePayGetPurchasesNode.cpp
- URuStorePayGetPurchasesNode.h.en
- URuStorePayGetPurchasesNode.h
- URuStorePayGetUserAuthorizationStatusNode.cpp.en
- URuStorePayGetUserAuthorizationStatusNode.cpp
- URuStorePayGetUserAuthorizationStatusNode.h.en
- URuStorePayGetUserAuthorizationStatusNode.h
- URuStorePayInvoiceId.h.en
- URuStorePayInvoiceId.h
- URuStorePayOrderId.h.en
- URuStorePayOrderId.h
- URuStorePayPrice.h.en
- URuStorePayPrice.h
- URuStorePayProductId.h.en
- URuStorePayProductId.h
- URuStorePayPurchaseExtendEventsNode.cpp.en
- URuStorePayPurchaseExtendEventsNode.cpp
- URuStorePayPurchaseExtendEventsNode.h.en
- URuStorePayPurchaseExtendEventsNode.h
- URuStorePayPurchaseId.h.en
- URuStorePayPurchaseId.h
- URuStorePayPurchaseNode.cpp.en
- URuStorePayPurchaseNode.cpp
- URuStorePayPurchaseNode.h.en
- URuStorePayPurchaseNode.h
- URuStorePayPurchaseTwoStepExtendEventsNode.cpp.en
- URuStorePayPurchaseTwoStepExtendEventsNode.cpp
- URuStorePayPurchaseTwoStepExtendEventsNode.h.en
- URuStorePayPurchaseTwoStepExtendEventsNode.h
- URuStorePayPurchaseTwoStepNode.cpp.en
- URuStorePayPurchaseTwoStepNode.cpp
- URuStorePayPurchaseTwoStepNode.h.en
- URuStorePayPurchaseTwoStepNode.h
- URuStorePayQuantity.h.en
- URuStorePayQuantity.h
- URuStorePaySubscriptionInfo.h.en
- URuStorePaySubscriptionInfo.h
- URuStorePayTitle.h.en
- URuStorePayTitle.h
- URuStorePayUpdateAcknowledgementStateNode.cpp.en
- URuStorePayUpdateAcknowledgementStateNode.cpp
- URuStorePayUpdateAcknowledgementStateNode.h.en
- URuStorePayUpdateAcknowledgementStateNode.h
- URuStorePayUrl.h.en
- URuStorePayUrl.h
- UTextureDownloader.cpp.en
- UTextureDownloader.cpp
- UTextureDownloader.h.en
- UTextureDownloader.h
- UnrealPlayerImpl.cpp.en
- UnrealPlayerImpl.cpp
- UnrealPlayerImpl.h.en
- UnrealPlayerImpl.h
- UnrealPlayerWrapper.java.en
- UnrealPlayerWrapper.java
- UpdateAcknowledgementStateListenerImpl.cpp.en
- UpdateAcknowledgementStateListenerImpl.cpp
- UpdateAcknowledgementStateListenerImpl.h.en
- UpdateAcknowledgementStateListenerImpl.h
- docs.en
- docs
- unreal_example.en
- unreal_example
- AndroidJavaClass.cpp.en
- AndroidJavaClass.cpp
- AndroidJavaClass.h.en
- AndroidJavaClass.h
- AndroidJavaLog.cpp.en
- AndroidJavaLog.cpp
- AndroidJavaLog.h.en
- AndroidJavaLog.h
- AndroidJavaObject.cpp.en
- AndroidJavaObject.cpp
- AndroidJavaObject.h.en
- AndroidJavaObject.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- Callbacks.en
- Callbacks
- Callbacks_Files.en
- Callbacks_Files
- CancelTwoStepPurchaseResponseListenerImpl.cpp.en
- CancelTwoStepPurchaseResponseListenerImpl.cpp
- CancelTwoStepPurchaseResponseListenerImpl.h.en
- CancelTwoStepPurchaseResponseListenerImpl.h
- ConfirmTwoStepPurchaseResponseListenerImpl.cpp.en
- ConfirmTwoStepPurchaseResponseListenerImpl.cpp
- ConfirmTwoStepPurchaseResponseListenerImpl.h.en
- ConfirmTwoStepPurchaseResponseListenerImpl.h
- DataConverter.cpp.en
- DataConverter.cpp
- DataConverter.h.en
- DataConverter.h
- EURuStorePayAcknowledgementState.h.en
- EURuStorePayAcknowledgementState.h
- EURuStorePayPreferredPurchaseType.h.en
- EURuStorePayPreferredPurchaseType.h
- EURuStorePayProductPurchaseStatus.h.en
- EURuStorePayProductPurchaseStatus.h
- EURuStorePayProductType.h.en
- EURuStorePayProductType.h
- EURuStorePayPurchaseStatusFilter.h.en
- EURuStorePayPurchaseStatusFilter.h
- EURuStorePayPurchaseType.h.en
- EURuStorePayPurchaseType.h
- EURuStorePaySdkTheme.h.en
- EURuStorePaySdkTheme.h
- EURuStorePaySubscriptionPeriodType.h.en
- EURuStorePaySubscriptionPeriodType.h
- EURuStorePaySubscriptionPurchaseStatus.h.en
- EURuStorePaySubscriptionPurchaseStatus.h
- EURuStorePayUserAuthorizationStatus.h.en
- EURuStorePayUserAuthorizationStatus.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreError.cpp.en
- FURuStoreError.cpp
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStorePayPaymentException.cpp.en
- FURuStorePayPaymentException.cpp
- FURuStorePayPaymentException.h.en
- FURuStorePayPaymentException.h
- FURuStorePayProduct.h.en
- FURuStorePayProduct.h
- FURuStorePayProductPurchase.h.en
- FURuStorePayProductPurchase.h
- FURuStorePayProductPurchaseParams.h.en
- FURuStorePayProductPurchaseParams.h
- FURuStorePayProductPurchaseResult.h.en
- FURuStorePayProductPurchaseResult.h
- FURuStorePayPurchase.h.en
- FURuStorePayPurchase.h
- FURuStorePayPurchaseAvailabilityResult.h.en
- FURuStorePayPurchaseAvailabilityResult.h
- FURuStorePayPurchaseEventResult.h.en
- FURuStorePayPurchaseEventResult.h
- FURuStorePaySubscriptionPeriod.h.en
- FURuStorePaySubscriptionPeriod.h
- FURuStorePaySubscriptionPurchase.h.en
- FURuStorePaySubscriptionPurchase.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- GetUserAuthorizationStatusListenerImpl.cpp.en
- GetUserAuthorizationStatusListenerImpl.cpp
- GetUserAuthorizationStatusListenerImpl.h.en
- GetUserAuthorizationStatusListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- Internal.en
- Internal
- Internal_Files.en
- Internal_Files
- Java.en
- Java
- JavaActivity.cpp.en
- JavaActivity.cpp
- JavaActivity.h.en
- JavaActivity.h
- JavaApplication.cpp.en
- JavaApplication.cpp
- JavaApplication.h.en
- JavaApplication.h
- JavaMethodSignature.cpp.en
- JavaMethodSignature.cpp
- JavaMethodSignature.h.en
- JavaMethodSignature.h
- JavaTypeConverter.cpp.en
- JavaTypeConverter.cpp
- JavaTypeConverter.h.en
- JavaTypeConverter.h
- Java_Files.en
- Java_Files
- Model.en
- Model
- Model_Files.en
- Model_Files
- PaymentExceptionConverter.cpp.en
- PaymentExceptionConverter.cpp
- PaymentExceptionConverter.h.en
- PaymentExceptionConverter.h
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- ProductPurchaseResultListenerImpl.cpp.en
- ProductPurchaseResultListenerImpl.cpp
- ProductPurchaseResultListenerImpl.h.en
- ProductPurchaseResultListenerImpl.h
- ProductsResponseListenerImpl.cpp.en
- ProductsResponseListenerImpl.cpp
- ProductsResponseListenerImpl.h.en
- ProductsResponseListenerImpl.h
- Public.en
- Public
- Public_Files.en
- Public_Files
- PurchaseAvailabilityListenerImpl.cpp.en
- PurchaseAvailabilityListenerImpl.cpp
- PurchaseAvailabilityListenerImpl.h.en
- PurchaseAvailabilityListenerImpl.h
- PurchaseEventListenerImpl.cpp.en
- PurchaseEventListenerImpl.cpp
- PurchaseEventListenerImpl.h.en
- PurchaseEventListenerImpl.h
- PurchaseResponseListenerImpl.cpp.en
- PurchaseResponseListenerImpl.cpp
- PurchaseResponseListenerImpl.h.en
- PurchaseResponseListenerImpl.h
- PurchasesResponseListenerImpl.cpp.en
- PurchasesResponseListenerImpl.cpp
- PurchasesResponseListenerImpl.h.en
- PurchasesResponseListenerImpl.h
- ResponseListener.h.en
- ResponseListener.h
- RuStoreCore.Build.cs.en
- RuStoreCore.Build.cs
- RuStoreCore.cpp.en
- RuStoreCore.cpp
- RuStoreCore.h.en
- RuStoreCore.h
- RuStoreCoreUtils.java.en
- RuStoreCoreUtils.java
- RuStoreCore_Files.en
- RuStoreCore_Files
- RuStoreImage.java.en
- RuStoreImage.java
- RuStoreListener.cpp.en
- RuStoreListener.cpp
- RuStoreListener.h.en
- RuStoreListener.h
- RuStorePay.Build.cs.en
- RuStorePay.Build.cs
- RuStorePay.cpp.en
- RuStorePay.cpp
- RuStorePay.h.en
- RuStorePay.h
- RuStorePayIntentFilterActivity.java.en
- RuStorePayIntentFilterActivity.java
- RuStorePay_Files.en
- RuStorePay_Files
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStorePayAmountLabel.h.en
- URuStorePayAmountLabel.h
- URuStorePayAppUserEmail.h.en
- URuStorePayAppUserEmail.h
- URuStorePayAppUserId.h.en
- URuStorePayAppUserId.h
- URuStorePayCancelTwoStepPurchaseNode.cpp.en
- URuStorePayCancelTwoStepPurchaseNode.cpp
- URuStorePayCancelTwoStepPurchaseNode.h.en
- URuStorePayCancelTwoStepPurchaseNode.h
- URuStorePayClient.cpp.en
- URuStorePayClient.cpp
- URuStorePayClient.h.en
- URuStorePayClient.h
- URuStorePayConfirmTwoStepPurchaseNode.cpp.en
- URuStorePayConfirmTwoStepPurchaseNode.cpp
- URuStorePayConfirmTwoStepPurchaseNode.h.en
- URuStorePayConfirmTwoStepPurchaseNode.h
- URuStorePayCurrency.h.en
- URuStorePayCurrency.h
- URuStorePayDate.h.en
- URuStorePayDate.h
- URuStorePayDescription.h.en
- URuStorePayDescription.h
- URuStorePayDeveloperPayload.h.en
- URuStorePayDeveloperPayload.h
- URuStorePayGetProductsNode.h.en
- URuStorePayGetProductsNode.h
- URuStorePayGetProductstNode.cpp.en
- URuStorePayGetProductstNode.cpp
- URuStorePayGetPurchaseAvailabilityNode.cpp.en
- URuStorePayGetPurchaseAvailabilityNode.cpp
- URuStorePayGetPurchaseAvailabilityNode.h.en
- URuStorePayGetPurchaseAvailabilityNode.h
- URuStorePayGetPurchaseNode.cpp.en
- URuStorePayGetPurchaseNode.cpp
- URuStorePayGetPurchaseNode.h
- URuStorePayGetPurchasesNode.cpp.en
- URuStorePayGetPurchasesNode.cpp
- URuStorePayGetPurchasesNode.h.en
- URuStorePayGetPurchasesNode.h
- URuStorePayGetUserAuthorizationStatusNode.cpp.en
- URuStorePayGetUserAuthorizationStatusNode.cpp
- URuStorePayGetUserAuthorizationStatusNode.h.en
- URuStorePayGetUserAuthorizationStatusNode.h
- URuStorePayInvoiceId.h.en
- URuStorePayInvoiceId.h
- URuStorePayOrderId.h.en
- URuStorePayOrderId.h
- URuStorePayPrice.h.en
- URuStorePayPrice.h
- URuStorePayProductId.h.en
- URuStorePayProductId.h
- URuStorePayPurchaseExtendEventsNode.cpp.en
- URuStorePayPurchaseExtendEventsNode.cpp
- URuStorePayPurchaseExtendEventsNode.h.en
- URuStorePayPurchaseExtendEventsNode.h
- URuStorePayPurchaseId.h.en
- URuStorePayPurchaseId.h
- URuStorePayPurchaseNode.cpp.en
- URuStorePayPurchaseNode.cpp
- URuStorePayPurchaseNode.h.en
- URuStorePayPurchaseNode.h
- URuStorePayPurchaseTwoStepExtendEventsNode.cpp.en
- URuStorePayPurchaseTwoStepExtendEventsNode.cpp
- URuStorePayPurchaseTwoStepExtendEventsNode.h.en
- URuStorePayPurchaseTwoStepExtendEventsNode.h
- URuStorePayPurchaseTwoStepNode.cpp.en
- URuStorePayPurchaseTwoStepNode.cpp
- URuStorePayPurchaseTwoStepNode.h.en
- URuStorePayPurchaseTwoStepNode.h
- URuStorePayQuantity.h.en
- URuStorePayQuantity.h
- URuStorePaySubscriptionInfo.h.en
- URuStorePaySubscriptionInfo.h
- URuStorePayTitle.h.en
- URuStorePayTitle.h
- URuStorePayUpdateAcknowledgementStateNode.cpp.en
- URuStorePayUpdateAcknowledgementStateNode.cpp
- URuStorePayUpdateAcknowledgementStateNode.h.en
- URuStorePayUpdateAcknowledgementStateNode.h
- URuStorePayUrl.h.en
- URuStorePayUrl.h
- UTextureDownloader.cpp.en
- UTextureDownloader.cpp
- UTextureDownloader.h.en
- UTextureDownloader.h
- UnrealPlayerImpl.cpp.en
- UnrealPlayerImpl.cpp
- UnrealPlayerImpl.h.en
- UnrealPlayerImpl.h
- UnrealPlayerWrapper.java.en
- UnrealPlayerWrapper.java
- UpdateAcknowledgementStateListenerImpl.cpp.en
- UpdateAcknowledgementStateListenerImpl.cpp
- UpdateAcknowledgementStateListenerImpl.h.en
- UpdateAcknowledgementStateListenerImpl.h
- docs.en
- docs
- unreal_example.en
- unreal_example