API/Autodoc/Files/DataConverter.h.md


Namespaces

Name

Classes

Name
class RuStoreSDK::Pay::DataConverter

Source code

// Copyright Epic Games, Inc. All Rights Reserved.

#include "URuStorePayInvoiceId.h"

namespace RuStoreSDK
{
    namespace Pay
    {
        class DataConverter
        {
        public:
            static TPair<URuStorePayPurchaseId*, URuStorePayInvoiceId*> ConvertPurchaseEventListenerParams(const FString& purchaseId, const FString& invoiceId);
            static const TSharedRef<TArray<FURuStorePayProduct>, ESPMode::ThreadSafe> ParseProducts(const FString& json);
            static const TSharedPtr<FURuStorePayPurchase, ESPMode::ThreadSafe> ParsePurchase(const FString& json);
            static const TSharedRef<TArray<FURuStorePayPurchase>, ESPMode::ThreadSafe> ParsePurchases(const FString& json);
            static const TSharedPtr<FURuStorePayProductPurchaseResult, ESPMode::ThreadSafe> ParsePurchaseResult(const FString& json);
            static const FString PurchaseStatusFilterToString(EURuStorePayPurchaseStatusFilter status);

            template <typename T>
            static T GetEnumByNameString(const FString& name) {
                const UEnum* enumPtr = StaticEnum<T>();
                const uint8 index = enumPtr->GetIndexByNameString(name);
                return static_cast<T>(index);
            }

        private:
            static const TSharedPtr<FURuStorePayPurchase, ESPMode::ThreadSafe> ParsePurchase(TSharedPtr<FJsonObject> jsonPurchase);
            static const TSharedPtr<FURuStorePayProductPurchase, ESPMode::ThreadSafe> ParseProductPurchase(TSharedPtr<FJsonObject> jsonPurchase);
            static const TSharedPtr<FURuStorePaySubscriptionPurchase, ESPMode::ThreadSafe> ParseSubscriptionPurchase(TSharedPtr<FJsonObject> jsonPurchase);
            static const TSharedPtr<FURuStorePaySubscriptionPeriod, ESPMode::ThreadSafe> ParseSubscriptionPeriod(TSharedPtr<FJsonObject> jsonSubscriptionPeriod);
        };
    }
}

Назад