LeviLamina
Loading...
Searching...
No Matches
MinecoinCatalogModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
11
12// auto generated forward declare list
13// clang-format off
16namespace Bedrock::Http { class Status; }
17namespace Core { class Path; }
18// clang-format on
19
21public:
22 // MinecoinCatalogModel inner types declare
23 // clang-format off
25 // clang-format on
26
27 // MinecoinCatalogModel inner types define
29 public:
30 // ActiveModelImageTracker inner types define
31 enum class FetchState : uchar {
32 Fetching = 0,
33 FailedAndCanRetry = 1,
34 Failed = 2,
35 Success = 3,
36 };
37
38 public:
39 // member variables
40 // NOLINTBEGIN
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;
47 // NOLINTEND
48 };
49
50public:
51 // member variables
52 // NOLINTBEGIN
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;
57 // NOLINTEND
58
59public:
60 // virtual functions
61 // NOLINTBEGIN
62 virtual ~MinecoinCatalogModel() /*override*/ = default;
63
64 virtual ::OfferCatalogStatus update() /*override*/;
65
66 virtual void fetchAllCoinOffers() /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI void _fetchKeyArtForActiveOfferModel(::MinecoinCatalogModel::ActiveModelImageTracker& modelFetchImageInfo);
73
74 MCAPI ::MinecoinCatalogModel::ActiveModelImageTracker*
75 _findActiveModelImageTrackerByProductId(::std::string const& activeModelProductId);
76
77 MCAPI void _handleOfferSearchResults(::std::weak_ptr<bool> weakExistence, ::MinecoinSearchResults const& results);
78
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
84 );
85
86 MCAPI void
87 _onTreatmentTagsReceived(::std::weak_ptr<bool> weakExistence, ::std::vector<::std::string> const& treatments);
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCAPI ::OfferCatalogStatus $update();
94
95 MCAPI void $fetchAllCoinOffers();
96 // NOLINTEND
97};
Definition Status.h:7
Definition ContentCatalogService.h:5
Definition Path.h:11
Definition MinecoinCatalogModel.h:5
Definition OfferCatalogModelBase.h:5
Definition MinecoinCatalogModel.h:13
Definition MinecoinSearchResults.h:5