PICO Unreal Platform SDK
Pico_AssetFile.h
1// Copyright® 2015-2023 PICO Technology Co., Ltd. All rights reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/NoExportTypes.h"
7#include "PPF_Platform.h"
8#include "OnlineSubsystemPicoNames.h"
9#include "OnlineSubsystemPico.h"
10#include "Kismet/BlueprintFunctionLibrary.h"
11#include "Pico_AssetFile.generated.h"
12
14
18DECLARE_LOG_CATEGORY_EXTERN(PicoAssetFile, Log, All);
19
20DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAssetFileDeleteResult, bool, bIsError, const FString&, ErrorMessage, UPico_AssetFileDeleteResult*, DeleteResult);
21DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAssetFileDownloadResult, bool, bIsError, const FString&, ErrorMessage, UPico_AssetFileDownloadResult*, DownloadResult);
22DECLARE_DYNAMIC_DELEGATE_ThreeParams(FAssetFileDownloadCancelResult, bool, bIsError, const FString&, ErrorMessage, UPico_AssetFileDownloadCancelResult*, DownloadCancelResult);
23DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAssetFileStatus, bool, bIsError, const FString&, ErrorMessage, UPico_AssetStatus*, AssetFileStatus);
24DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAssetFileList, bool, bIsError, const FString&, ErrorMessage, UPico_AssetDetailsArray*, AssetDetailsArray);
25
26DECLARE_MULTICAST_DELEGATE_OneParam(FAssetFileDownloadUpdateNotify, UPico_AssetFileDownloadUpdate* /*AssetFileDownloadUpdateObj*/);
27DECLARE_MULTICAST_DELEGATE_OneParam(FAssetFileDeleteForSafetyNotify, UPico_AssetFileDeleteForSafety* /*AssetFileDeleteForSafetyObj*/);
28
29
30
42class ONLINESUBSYSTEMPICO_API FPicoAssetFileInterface
43{
44private:
45
46 FOnlineSubsystemPico& PicoSubsystem;
47
48public:
49 FPicoAssetFileInterface(FOnlineSubsystemPico& InSubsystem);
51
52 FAssetFileDeleteResult DeleteByIDDelegate;
53 FAssetFileDeleteResult DeleteByNameDelegate;
54 FAssetFileDownloadResult DownloadByIdDelegate;
55 FAssetFileDownloadResult DownloadByNameDelegate;
56 FAssetFileDownloadCancelResult DownloadCancelByIdDelegate;
57 FAssetFileDownloadCancelResult DownloadCancelNameIdDelegate;
58 FGetAssetFileStatus GetAssetFileStatusByIdDelegate;
59 FGetAssetFileStatus GetAssetFileStatusByNameDelegate;
60 FGetAssetFileList GetAssetFileListDelegate;
61 FGetAssetFileList GetNextAssetDetailsArrayPageDelegate;
62
69 FAssetFileDownloadUpdateNotify AssetFileDownloadUpdateCallback;
70
76 FAssetFileDeleteForSafetyNotify AssetFileDeleteForSafetyCallback;
77
91 bool DeleteByID(FString AssetFileID, FAssetFileDeleteResult InDeleteByIDDelegate);
92
106 bool DeleteByName(FString AssetFileName, FAssetFileDeleteResult InDeleteByNameDelegate);
107
120 bool DownloadById(FString AssetFileID, FAssetFileDownloadResult InDownloadByIDDelegate);
121
134 bool DownloadByName(FString AssetFileName, FAssetFileDownloadResult InDownloadByNameDelegate);
135
148 bool DownloadCancelById(FString AssetFileID, FAssetFileDownloadCancelResult InDownloadCancelByIDDelegate);
149
162 bool DownloadCancelByName(FString AssetFileName, FAssetFileDownloadCancelResult InDownloadCancelByNameDelegate);
163
175 bool GetAssetFileList(FGetAssetFileList InGetAssetFileListDelegate);
176
189 bool GetNextAssetDetailsArrayPage(UPico_AssetDetailsArray* InAssetDetailsArray, FGetAssetFileList InGetNextAssetDetailsArrayPageDelegate);
190
203 bool GetAssetFileStatusById(FString AssetFileID, FGetAssetFileStatus InGetAssetFileStatusByIdDelegate);
204
217 bool GetAssetFileStatusByName(FString AssetFileName, FGetAssetFileStatus InGetAssetFileStatusByNameDelegate);
218
219 FDelegateHandle AssetFileDownloadUpdateHandle;
220 void OnAssetFileDownloadUpdate(ppfMessageHandle Message, bool bIsError);
221
222 FDelegateHandle AssetFileDeleteForSafetyHandle;
223 void OnAssetFileDeleteForSafety(ppfMessageHandle Message, bool bIsError);
224};
225
226
241UCLASS()
242class ONLINESUBSYSTEMPICO_API UOnlinePicoAssetFileFunction : public UBlueprintFunctionLibrary
243{
244 GENERATED_BODY()
245
246public:
247
248
263 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
264 static bool DeleteByID(UObject* WorldContextObject, FString AssetFileID, FAssetFileDeleteResult InDeleteByIDDelegate);
265
280 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
281 static bool DeleteByName(UObject* WorldContextObject, FString AssetFileName, FAssetFileDeleteResult InDeleteByNameDelegate);
282
296 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
297 static bool DownloadById(UObject* WorldContextObject, FString AssetFileID, FAssetFileDownloadResult InDownloadByIDDelegate);
298
312 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
313 static bool DownloadByName(UObject* WorldContextObject, FString AssetFileName, FAssetFileDownloadResult InDownloadByNameDelegate);
314
328 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
329 static bool DownloadCancelById(UObject* WorldContextObject, FString AssetFileID, FAssetFileDownloadCancelResult InDownloadCancelByIDDelegate);
330
344 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
345 static bool DownloadCancelByName(UObject* WorldContextObject, FString AssetFileName, FAssetFileDownloadCancelResult InDownloadCancelByNameDelegate);
346
359 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
360 static bool GetAssetFileList(UObject* WorldContextObject, FGetAssetFileList InGetAssetFileListDelegate);
361
375 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
376 static bool GetNextAssetDetailsArrayPage(UObject* WorldContextObject, UPico_AssetDetailsArray* InAssetDetailsArray, FGetAssetFileList InGetNextAssetDetailsArrayPageDelegate);
377
391 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
392 static bool GetAssetFileStatusById(UObject* WorldContextObject, FString AssetFileID, FGetAssetFileStatus InGetAssetFileStatusByIdDelegate);
393
407 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|AssetFile")
408 static bool GetAssetFileStatusByName(UObject* WorldContextObject, FString AssetFileName, FGetAssetFileStatus InGetAssetFileStatusByNameDelegate);
409
410};
411
417UCLASS(BlueprintType)
418class ONLINESUBSYSTEMPICO_API UPico_AssetFileDeleteResult : public UObject
419{
420
421 GENERATED_BODY()
422
423public:
424 void InitParams(ppfAssetFileDeleteResult* InppfAssetFileDeleteResultHandle);
425
426private:
427 FString AssetId = FString();
428 FString FilePath = FString();
429 bool bIsSuccessed = false;
430 ppfID ppfAssetId = 0;
431
432public:
433
435 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Delete Result")
436 FString GetAssetId();
437
439 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Delete Result")
440 FString GetFilePath();
441
443 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Delete Result")
444 bool GetSuccess();
445
446 ppfID GetppfAssetId();
447};
448
450UCLASS(BlueprintType)
451class ONLINESUBSYSTEMPICO_API UPico_AssetDetails : public UObject
452{
453
454 GENERATED_BODY()
455
456public:
457 void InitParams(ppfAssetDetails* InppfAssetDetailsHandle);
458
459private:
460 FString AssetId = FString();
461 FString AssetType = FString();
462 FString DownloadStatus = FString();
463 FString FilePath = FString();
464 FString IapStatus = FString();
465 FString Metadata = FString();
466 FString Filename = FString();
467 int32 Version = -1;
468 FString IapSku = FString();
469 FString IapName = FString();
470 FString IapPrice = FString();
471 FString IapCurrency = FString();
472 FString IapDescription = FString();
473 FString IapIconUrl = FString();
474 ppfID ppfAssetId = 0;
475public:
476
478 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
479 FString GetAssetId();
480
482 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
483 FString GetFilePath();
484
488 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
489 FString GetAssetType();
490
492 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
493 FString GetDownloadStatus();
494
496 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
497 FString GetIapStatus();
498
500 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
501 FString GetMetadata();
502
504 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
505 FString GetFilename();
506
508 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
509 int32 GetVersion();
510
512 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
513 FString GetIapSku();
514
516 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
517 FString GetIapName();
518
520 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
521 FString GetIapPrice();
522
524 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
525 FString GetIapCurrency();
526
528 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
529 FString GetIapDescription();
530
532 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details")
533 FString GetIapIconUrl();
534
535 ppfID GetppfAssetId();
536};
537
539UCLASS(BlueprintType)
540class ONLINESUBSYSTEMPICO_API UPico_AssetDetailsArray : public UObject
541{
542
543 GENERATED_BODY()
544
545public:
546 void InitParams(ppfAssetDetailsArray* InppfAssetDetailsArrayHandle);
547
548private:
549 UPROPERTY()
550 TArray<UPico_AssetDetails*> AssetDetailsArray;
551
552 int32 Size = 0;
553 bool bHasNextPage = false;
554 FString NextPageParam = FString();
555
556
557public:
558
560 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details Array")
561 UPico_AssetDetails* GetElement(int32 Index);
562
564 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details Array")
565 int32 GetSize();
566
568 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details Array")
569 bool GetHasNextPage();
570
571 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Details Array")
572 FString GetNextPageParam();
573};
574
576UCLASS(BlueprintType)
577class ONLINESUBSYSTEMPICO_API UPico_AssetFileDownloadCancelResult : public UObject
578{
579
580 GENERATED_BODY()
581
582public:
583 void InitParams(ppfAssetFileDownloadCancelResult* InppfAssetFileDownloadCancelResultHandle);
584
585private:
586 FString AssetId = FString();
587 FString FilePath = FString();
588 bool bIsSuccessed = false;
589 ppfID ppfAssetId = 0;
590
591public:
593 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Cancel Result")
594 FString GetAssetId();
595
597 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Cancel Result")
598 FString GetFilePath();
599
601 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Cancel Result")
602 bool GetSuccess();
603
604 ppfID GetppfAssetId();
605};
606
608UCLASS(BlueprintType)
609class ONLINESUBSYSTEMPICO_API UPico_AssetFileDownloadUpdate : public UObject
610{
611
612 GENERATED_BODY()
613
614public:
615 void InitParams(ppfAssetFileDownloadUpdate* InppfAssetFileDownloadUpdateHandle);
616
617private:
618 FString AssetId = FString();
619 int64 BytesTotal = 0;
620 int64 BytesTransferred = 0;
622 ppfID ppfAssetId = 0;
623
624public:
625
627 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Update")
628 FString GetAssetId();
629
631 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Update")
632 int64 GetBytesTotal();
633
635 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Update")
636 int64 GetBytesTransferred();
637
639 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Update")
641
642 ppfID GetppfAssetId();
643};
644
646UCLASS(BlueprintType)
647class ONLINESUBSYSTEMPICO_API UPico_AssetFileDownloadResult : public UObject
648{
649
650 GENERATED_BODY()
651
652public:
653 void InitParams(ppfAssetFileDownloadResult* InppfAssetFileDownloadResultHandle);
654
655private:
656 FString AssetId = FString();
657 FString FilePath = FString();
658 ppfID ppfAssetId = 0;
659
660public:
661
663 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Result")
664 FString GetAssetId();
665
667 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Download Result")
668 FString GetFilePath();
669
670 ppfID GetppfAssetId();
671};
672
674UCLASS(BlueprintType)
675class ONLINESUBSYSTEMPICO_API UPico_AssetStatus : public UObject
676{
677
678 GENERATED_BODY()
679
680public:
681 void InitParams(ppfAssetStatus* InppfAssetStatusHandle);
682
683private:
684 FString AssetId = FString();
685 FString FilePath = FString();
686 FString FileName = FString();
687 FString DownloadStatus = FString();
688 ppfID ppfAssetId = 0;
689
690public:
691
693 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Status")
694 FString GetAssetId();
695
697 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Status")
698 FString GetFilePath();
699
701 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Status")
702 FString GetFileName();
703
705 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Asset Status")
706 FString GetDownloadStatus();
707
708 ppfID GetppfAssetId();
709};
710
712UCLASS(BlueprintType)
713class ONLINESUBSYSTEMPICO_API UPico_AssetFileDeleteForSafety : public UObject
714{
715
716 GENERATED_BODY()
717
718public:
719 void InitParams(ppfAssetFileDeleteForSafety* InppfAssetFileDeleteForSafetyHandle);
720
721private:
722 FString AssetId = FString();
723 FString Reason = FString();
724 ppfID ppfAssetId = 0;
725
726public:
727
729 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Delete For Safety")
730 FString GetAssetId();
731
733 UFUNCTION(BlueprintPure, Category = "Pico Platform|AssetFile|Delete For Safety")
734 FString GetReason();
735
736 ppfID GetppfAssetId();
737};
PicoAssetFileInterface class.
Definition: Pico_AssetFile.h:43
bool DownloadCancelByName(FString AssetFileName, FAssetFileDownloadCancelResult InDownloadCancelByNameDelegate)
Cancels the download of an asset file by asset file name.
bool DownloadCancelById(FString AssetFileID, FAssetFileDownloadCancelResult InDownloadCancelByIDDelegate)
Cancels the download of an asset file by asset file ID.
FAssetFileDeleteForSafetyNotify AssetFileDeleteForSafetyCallback
Sets the callback to automatically delete a downloaded asset file if it is different from the origina...
Definition: Pico_AssetFile.h:76
bool DownloadById(FString AssetFileID, FAssetFileDownloadResult InDownloadByIDDelegate)
Downloads an asset file by asset file ID.
bool DeleteByName(FString AssetFileName, FAssetFileDeleteResult InDeleteByNameDelegate)
Deletes an installed asset file by asset file name. The corresponding asset file will be removed from...
bool GetAssetFileStatusById(FString AssetFileID, FGetAssetFileStatus InGetAssetFileStatusByIdDelegate)
Gets the download status of an asset file by asset file ID.
bool DeleteByID(FString AssetFileID, FAssetFileDeleteResult InDeleteByIDDelegate)
Deletes an installed asset file by asset file ID. The corresponding asset file will be removed from t...
FAssetFileDownloadUpdateNotify AssetFileDownloadUpdateCallback
Sets the callback to track the download progress of asset file. The Transferred field indicates the n...
Definition: Pico_AssetFile.h:69
bool GetNextAssetDetailsArrayPage(UPico_AssetDetailsArray *InAssetDetailsArray, FGetAssetFileList InGetNextAssetDetailsArrayPageDelegate)
Gets the next page of the asset file list.
bool DownloadByName(FString AssetFileName, FAssetFileDownloadResult InDownloadByNameDelegate)
Downloads an asset file by asset file name.
bool GetAssetFileStatusByName(FString AssetFileName, FGetAssetFileStatus InGetAssetFileStatusByNameDelegate)
Gets the download status of an asset file by asset file name.
bool GetAssetFileList(FGetAssetFileList InGetAssetFileListDelegate)
Gets the asset file list.
OnlinePicoAssetFile Blueprint Function class.
Definition: Pico_AssetFile.h:243
UPico_AssetDetailsArray class.
Definition: Pico_AssetFile.h:541
UPico_AssetDetails class.
Definition: Pico_AssetFile.h:452
UPico_AssetFileDeleteForSafety class.
Definition: Pico_AssetFile.h:714
UPico_AssetFileDeleteResult class.
Definition: Pico_AssetFile.h:419
UPico_AssetFileDownloadCancelResult class.
Definition: Pico_AssetFile.h:578
UPico_AssetFileDownloadResult class.
Definition: Pico_AssetFile.h:648
UPico_AssetFileDownloadUpdate class.
Definition: Pico_AssetFile.h:610
UPico_AssetStatus class.
Definition: Pico_AssetFile.h:676
EAssetFileDownloadCompleteStatus
The status of the file in the file download process.
Definition: OnlineSubsystemPicoNames.h:579