API/Autodoc/Files/URuStoreCore.cpp.md
Source code
// Copyright Epic Games, Inc. All Rights Reserved.
#include "JavaApplication.h"
const FString URuStoreCore::PluginVersion = "10.5.0";
URuStoreCore* URuStoreCore::_instance = nullptr;
bool URuStoreCore::_bIsInstanceInitialized = false;
bool URuStoreCore::GetIsInitialized() { return bIsInitialized; }
URuStoreCore* URuStoreCore::Instance()
{
if (!_bIsInstanceInitialized)
{
_bIsInstanceInitialized = true;
_instance = NewObject<URuStoreCore>(GetTransientPackage());
}
return _instance;
}
bool URuStoreCore::Init()
{
if (!URuStoreCore::IsPlatformSupported()) return false;
if (bIsInitialized) return false;
_instance->AddToRoot();
unrealPlayer = new UnrealPlayerImpl();
auto playerProviderJavaClass = MakeShared<AndroidJavaClass>("ru/rustore/unrealsdk/core/PlayerProvider");
_playerProviderWrapper = playerProviderJavaClass->GetStaticAJObject("INSTANCE");
_playerProviderWrapper->CallVoid("setExternalProvider", unrealPlayer->GetJWrapper());
auto clientJavaClass = MakeShared<AndroidJavaClass>("ru/rustore/unrealsdk/core/RuStoreUnrealCoreClient");
_clientWrapper = clientJavaClass->GetStaticAJObject("INSTANCE");
bIsInitialized = true;
return bIsInitialized;
}
void URuStoreCore::Dispose()
{
URuStoreCore* _instanceTemp = _instance;
_instance = nullptr;
_bIsInstanceInitialized = false;
bIsInitialized = false;
delete _clientWrapper;
_clientWrapper = nullptr;
delete _playerProviderWrapper;
_playerProviderWrapper = nullptr;
delete unrealPlayer;
unrealPlayer = nullptr;
if (_instanceTemp && _instanceTemp->IsRooted()) _instanceTemp->RemoveFromRoot();
}
void URuStoreCore::ConditionalBeginDestroy()
{
Dispose();
Super::ConditionalBeginDestroy();
}
bool URuStoreCore::IsPlatformSupported()
{
#if PLATFORM_ANDROID
return true;
#endif
return false;
}
bool URuStoreCore::IsPlatformSupported(TFunction<void(long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe>)> onFailure)
{
if (IsPlatformSupported()) return true;
auto error = MakeShared<FURuStoreError, ESPMode::ThreadSafe>();
error->name = "RuStore Error";
error->description = "Unsupported platform";
onFailure(0, error);
return false;
}
void URuStoreCore::ShowToast(FString message)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto activity = MakeShared<JavaActivity>();
javaClass->CallStaticVoid("showToast", &activity.Get(), message);
}
void URuStoreCore::LogVerbose(FString tag, FString message)
{
_LogVerbose(tag, message);
}
void URuStoreCore::LogDebug(FString tag, FString message)
{
_LogDebug(tag, message);
}
void URuStoreCore::LogInfo(FString tag, FString message)
{
_LogInfo(tag, message);
}
void URuStoreCore::LogWarn(FString tag, FString message)
{
_LogWarn(tag, message);
}
void URuStoreCore::LogError(FString tag, FString message)
{
_LogError(tag, message);
}
bool URuStoreCore::CompareId(int64 A, int64 B)
{
return (A == B && A != 0);
}
void URuStoreCore::CopyToClipboard(FString text)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto activity = MakeShared<JavaActivity>();
javaClass->CallStaticVoid("CopyToClipboard", &activity.Get(), text);
}
void URuStoreCore::GetFromClipboard(FString& text)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto activity = MakeShared<JavaActivity>();
text = javaClass->CallStaticFString("GetFromClipboard", &activity.Get());
}
void URuStoreCore::GetStringResources(FString name, FString& value)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
value = javaClass->CallStaticFString("GetStringResources", &application.Get(), name);
}
void URuStoreCore::GetIntResources(FString name, int& value)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
value = javaClass->CallStaticInt("GetIntResources", &application.Get(), name);
}
FString URuStoreCore::GetStringSharedPreferences(FString storageName, FString key, FString defaultValue)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
return javaClass->CallStaticFString("GetStringSharedPreferences", &application.Get(), storageName, key, defaultValue);
}
int URuStoreCore::GetIntSharedPreferences(FString storageName, FString key, int defaultValue)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
return javaClass->CallStaticInt("GetIntSharedPreferences", &application.Get(), storageName, key, defaultValue);
}
void URuStoreCore::SetStringSharedPreferences(FString storageName, FString key, FString value)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
javaClass->CallStaticVoid("SetStringSharedPreferences", &application.Get(), storageName, key, value);
}
void URuStoreCore::SetIntSharedPreferences(FString storageName, FString key, int value)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
javaClass->CallStaticVoid("SetIntSharedPreferences", &application.Get(), storageName, key, value);
}
void URuStoreCore::RestartAndroidApp() {
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
auto application = MakeShared<JavaApplication>();
return javaClass->CallStaticVoid("RestartAndroidApp", &application.Get());
}
bool URuStoreCore::IsRuStoreInstalled() {
auto activity = MakeShared<JavaActivity>();
return _clientWrapper->CallBool("isRuStoreInstalled", &activity.Get());
}
void URuStoreCore::OpenRuStoreDownloadInstruction() {
auto activity = MakeShared<JavaActivity>();
_clientWrapper->CallVoid("openRuStoreDownloadInstruction", &activity.Get());
}
void URuStoreCore::OpenRuStore() {
auto activity = MakeShared<JavaActivity>();
_clientWrapper->CallVoid("openRuStore", &activity.Get());
}
void URuStoreCore::OpenRuStoreAuthorization() {
auto activity = MakeShared<JavaActivity>();
_clientWrapper->CallVoid("openRuStoreAuthorization", &activity.Get());
}
- Страницы
- 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
- AppUpdateErrorListenerImpl.cpp.en
- AppUpdateErrorListenerImpl.cpp
- AppUpdateErrorListenerImpl.h.en
- AppUpdateErrorListenerImpl.h
- AppUpdateInfoResponseListenerImpl.cpp.en
- AppUpdateInfoResponseListenerImpl.cpp
- AppUpdateInfoResponseListenerImpl.h.en
- AppUpdateInfoResponseListenerImpl.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- EURuStoreAppUpdateOptions.h.en
- EURuStoreAppUpdateOptions.h
- EURuStoreInstallErrorCode.h.en
- EURuStoreInstallErrorCode.h
- EURuStoreInstallStatus.h.en
- EURuStoreInstallStatus.h
- EURuStoreUpdateAvailability.h.en
- EURuStoreUpdateAvailability.h
- EURuStoreUpdateFlowResult.h.en
- EURuStoreUpdateFlowResult.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreAppUpdateInfo.h.en
- FURuStoreAppUpdateInfo.h
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStoreInstallState.h.en
- FURuStoreInstallState.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- InstallStateUpdateListenerImpl.cpp.en
- InstallStateUpdateListenerImpl.cpp
- InstallStateUpdateListenerImpl.h.en
- InstallStateUpdateListenerImpl.h
- 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
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- Public.en
- Public
- Public_Files.en
- Public_Files
- ResponseListener.h.en
- ResponseListener.h
- RuStoreAppUpdate.Build.cs.en
- RuStoreAppUpdate.Build.cs
- RuStoreAppUpdate.cpp.en
- RuStoreAppUpdate.cpp
- RuStoreAppUpdate.h.en
- RuStoreAppUpdate.h
- RuStoreAppUpdate_Files.en
- RuStoreAppUpdate_Files
- 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
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- UCompleteUpdateNode.cpp.en
- UCompleteUpdateNode.cpp
- UCompleteUpdateNode.h.en
- UCompleteUpdateNode.h
- UGetAppUpdateInfoNode.cpp.en
- UGetAppUpdateInfoNode.cpp
- UGetAppUpdateInfoNode.h.en
- UGetAppUpdateInfoNode.h
- URuStoreAppUpdateManager.cpp.en
- URuStoreAppUpdateManager.cpp
- URuStoreAppUpdateManager.h.en
- URuStoreAppUpdateManager.h
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStoreInstallStateUpdateListenerInterface.h
- UStartUpdateFlowNode.cpp.en
- UStartUpdateFlowNode.cpp
- UStartUpdateFlowNode.h.en
- UStartUpdateFlowNode.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
- UpdateFlowResultListenerImpl.cpp.en
- UpdateFlowResultListenerImpl.cpp
- UpdateFlowResultListenerImpl.h.en
- UpdateFlowResultListenerImpl.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
- AppUpdateErrorListenerImpl.cpp.en
- AppUpdateErrorListenerImpl.cpp
- AppUpdateErrorListenerImpl.h.en
- AppUpdateErrorListenerImpl.h
- AppUpdateInfoResponseListenerImpl.cpp.en
- AppUpdateInfoResponseListenerImpl.cpp
- AppUpdateInfoResponseListenerImpl.h.en
- AppUpdateInfoResponseListenerImpl.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- EURuStoreAppUpdateOptions.h.en
- EURuStoreAppUpdateOptions.h
- EURuStoreInstallErrorCode.h.en
- EURuStoreInstallErrorCode.h
- EURuStoreInstallStatus.h.en
- EURuStoreInstallStatus.h
- EURuStoreUpdateAvailability.h.en
- EURuStoreUpdateAvailability.h
- EURuStoreUpdateFlowResult.h.en
- EURuStoreUpdateFlowResult.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreAppUpdateInfo.h.en
- FURuStoreAppUpdateInfo.h
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStoreInstallState.h.en
- FURuStoreInstallState.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- InstallStateUpdateListenerImpl.cpp.en
- InstallStateUpdateListenerImpl.cpp
- InstallStateUpdateListenerImpl.h.en
- InstallStateUpdateListenerImpl.h
- 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
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- Public.en
- Public
- Public_Files.en
- Public_Files
- ResponseListener.h.en
- ResponseListener.h
- RuStoreAppUpdate.Build.cs.en
- RuStoreAppUpdate.Build.cs
- RuStoreAppUpdate.cpp.en
- RuStoreAppUpdate.cpp
- RuStoreAppUpdate.h.en
- RuStoreAppUpdate.h
- RuStoreAppUpdate_Files.en
- RuStoreAppUpdate_Files
- 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
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- UCompleteUpdateNode.cpp.en
- UCompleteUpdateNode.cpp
- UCompleteUpdateNode.h.en
- UCompleteUpdateNode.h
- UGetAppUpdateInfoNode.cpp.en
- UGetAppUpdateInfoNode.cpp
- UGetAppUpdateInfoNode.h.en
- UGetAppUpdateInfoNode.h
- URuStoreAppUpdateManager.cpp.en
- URuStoreAppUpdateManager.cpp
- URuStoreAppUpdateManager.h.en
- URuStoreAppUpdateManager.h
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStoreInstallStateUpdateListenerInterface.h
- UStartUpdateFlowNode.cpp.en
- UStartUpdateFlowNode.cpp
- UStartUpdateFlowNode.h.en
- UStartUpdateFlowNode.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
- UpdateFlowResultListenerImpl.cpp.en
- UpdateFlowResultListenerImpl.cpp
- UpdateFlowResultListenerImpl.h.en
- UpdateFlowResultListenerImpl.h
- docs.en
- docs
- unreal_example.en
- unreal_example