3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/models/OfferCatalogModelBase.h"
7#include "mc/client/gui/screens/models/OfferCatalogStatus.h"
8#include "mc/client/services/catalog/CommonImage.h"
9#include "mc/client/services/catalog/ImageMetaListDocument.h"
10#include "mc/util/RetryDelay.h"
16namespace Bedrock::Http {
class Status; }
17namespace Core {
class Path; }
31 enum class FetchState : uchar {
33 FailedAndCanRetry = 1,
41 ::ll::TypedStorage<4, 20, ::RetryDelay> mRetryDelay;
42 ::ll::TypedStorage<8, 32, ::std::string> mActiveModelProductId;
43 ::ll::TypedStorage<8, 192, ::CommonImage> mImage;
44 ::ll::TypedStorage<8, 24, ::ImageMetaListDocument> mImageListDoc;
45 ::ll::TypedStorage<1, 1, ::MinecoinCatalogModel::ActiveModelImageTracker::FetchState> mFetchState;
46 ::ll::TypedStorage<4, 4, uint> mRefetchCount;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ContentCatalogService>> mContentCatalogService;
54 ::ll::TypedStorage<8, 24, ::std::vector<::MinecoinCatalogModel::ActiveModelImageTracker>>
55 mActiveModelImageTrackerList;
56 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistenceTracker;
62 virtual ~MinecoinCatalogModel() =
default;
64 virtual ::OfferCatalogStatus update() ;
66 virtual void fetchAllCoinOffers() ;
72 MCAPI
void _fetchKeyArtForActiveOfferModel(::MinecoinCatalogModel::ActiveModelImageTracker& modelFetchImageInfo);
74 MCAPI ::MinecoinCatalogModel::ActiveModelImageTracker*
75 _findActiveModelImageTrackerByProductId(::std::string
const& activeModelProductId);
77 MCAPI
void _handleOfferSearchResults(::std::weak_ptr<bool> weakExistence, ::MinecoinSearchResults
const& results);
79 MCAPI
void _onFetchKeyArtForActiveOfferModelFinished(
80 ::std::weak_ptr<bool> weakExistence,
81 ::std::string
const& activeModelProductId,
82 ::Bedrock::Http::Status
const status,
83 ::Core::Path
const& fullpath
87 _onTreatmentTagsReceived(::std::weak_ptr<bool> weakExistence, ::std::vector<::std::string>
const& treatments);
93 MCAPI ::OfferCatalogStatus $update();
95 MCAPI
void $fetchAllCoinOffers();
Definition ContentCatalogService.h:5
Definition MinecoinCatalogModel.h:5
Definition OfferCatalogModelBase.h:5
Definition MinecoinCatalogModel.h:13
Definition MinecoinSearchResults.h:5