3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/models/OfferCatalogStatus.h"
7#include "mc/client/gui/screens/models/PlatformOfferModel.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
14class IOfferRepository;
23 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IOfferRepository>> mOfferRepository;
24 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::FlightingService>> mFlightingService;
25 ::ll::TypedStorage<8, 16, ::std::shared_ptr<bool>> mExistenceTracker;
26 ::ll::TypedStorage<4, 4, ::OfferCatalogStatus> mCatalogStatus;
27 ::ll::TypedStorage<8, 24, ::std::vector<::PlatformOfferModel>> mOfferModels;
28 ::ll::TypedStorage<8, 24, ::std::vector<::PlatformOfferModel>> mActiveOfferModels;
29 ::ll::TypedStorage<8, 328, ::PlatformOfferModel> mInvalidOfferModel;
34 OfferCatalogModelBase();
39 virtual ~OfferCatalogModelBase();
41 virtual ::OfferCatalogStatus update() = 0;
43 virtual void fetchAllCoinOffers() = 0;
45 virtual uint getNumOfferModels()
const;
47 virtual uint getNumActiveOfferModels()
const;
49 virtual ::PlatformOfferModel& getOfferModel(
int index);
51 virtual ::PlatformOfferModel& getActiveOfferModel(
int index);
53 virtual ::PlatformOfferModel* findOfferModelBySku(::ProductSku
const& sku);
55 virtual ::PlatformOfferModel* findOfferModelByMinCoins(::std::string
const& coinsNeeded);
57 virtual ::PlatformOfferModel* findOfferModelByMinCoins(
int const coinsNeeded);
59 virtual ::PlatformOfferModel* _findActiveOfferModelByProductId(::std::string
const& productId);
61 virtual ::PlatformOfferModel* _findOfferModelByProductId(::std::string
const& productId);
67 MCAPI OfferCatalogModelBase(
68 ::Bedrock::NotNullNonOwnerPtr<::FlightingService>
const& flightingService,
69 ::Bedrock::NotNullNonOwnerPtr<::IOfferRepository>
const& offerRepository,
70 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager,
71 ::Bedrock::NotNullNonOwnerPtr<::DateManager const> dateManager
79 ::Bedrock::NotNullNonOwnerPtr<::FlightingService>
const& flightingService,
80 ::Bedrock::NotNullNonOwnerPtr<::IOfferRepository>
const& offerRepository,
81 ::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager,
82 ::Bedrock::NotNullNonOwnerPtr<::DateManager const> dateManager
95 MCAPI uint $getNumOfferModels()
const;
97 MCAPI uint $getNumActiveOfferModels()
const;
99 MCAPI ::PlatformOfferModel& $getOfferModel(
int index);
101 MCAPI ::PlatformOfferModel& $getActiveOfferModel(
int index);
103 MCAPI ::PlatformOfferModel* $findOfferModelBySku(::ProductSku
const& sku);
105 MCAPI ::PlatformOfferModel* $findOfferModelByMinCoins(::std::string
const& coinsNeeded);
107 MCAPI ::PlatformOfferModel* $findOfferModelByMinCoins(
int const coinsNeeded);
109 MCAPI ::PlatformOfferModel* $_findActiveOfferModelByProductId(::std::string
const& productId);
111 MCAPI ::PlatformOfferModel* $_findOfferModelByProductId(::std::string
const& productId);
Definition DateManager.h:14
Definition FlightingService.h:5
Definition OfferCatalogModelBase.h:5
static MCAPI void ** $vftable()
Definition IUserManager.h:34