8 namespace ludei {
namespace inapps {
68 enum class InAppProvider {
112 inline bool empty()
const {
return code == 0 && message.empty();}
137 typedef std::function<void(const InAppPurchase & purchase, const InAppService::Error & error)>
PurchaseCallback;
145 typedef std::function<void(int32_t consumed, const InAppService::Error & error)>
ConsumeCallback;
164 typedef std::function<void(const string & receipt, const string & productId, const ValidationCompletion & completion)>
ValidationHandler;
202 virtual void start() = 0;
218 virtual std::vector<InAppProduct>
getProducts()
const = 0;
225 virtual void mapProductIds(
const std::map<string, string> & productsMap) = 0;
244 virtual bool isPurchased(
const string & productId)
const = 0;
276 virtual void purchase(
const string & productId, int32_t quantity,
const PurchaseCallback & callback) = 0;
284 inline void purchase(
const string & productId,
const PurchaseCallback & callback) {
295 virtual void consume(
const string & productId, int32_t quantity,
const ConsumeCallback & callback) = 0;
virtual void setLudeiServerValidationHandler()=0
string productId
Definition: InAppService.h:19
std::function< void(const string &receipt, const string &productId, const ValidationCompletion &completion)> ValidationHandler
Definition: InAppService.h:164
virtual bool isPurchased(const string &productId) const =0
virtual std::vector< InAppProduct > getProducts() const =0
bool empty() const
Definition: InAppService.h:112
std::function< void(const InAppService::Error &error)> RestoreCallback
Definition: InAppService.h:128
std::function< void(const std::vector< InAppProduct > &products, const InAppService::Error &error)> FetchCallback
Definition: InAppService.h:121
Definition: InAppService.h:41
Definition: InAppService.h:97
virtual void finishPurchase(const string &transactionId)=0
virtual int32_t stockOfProduct(const string &productId)=0
std::function< void(const InAppService::Error &error)> ValidationCompletion
Definition: InAppService.h:155
string title
Definition: InAppService.h:23
int32_t quantity
Definition: InAppService.h:57
virtual bool productForId(const string &productId, InAppProduct *product) const =0
int32_t code
Definition: InAppService.h:98
double price
Definition: InAppService.h:35
void purchase(const string &productId, const PurchaseCallback &callback)
Definition: InAppService.h:284
virtual void removePurchaseObserver(InAppPurchaseObserver *observer)=0
string description
Definition: InAppService.h:27
std::function< void(int32_t consumed, const InAppService::Error &error)> ConsumeCallback
Definition: InAppService.h:145
virtual void consume(const string &productId, int32_t quantity, const ConsumeCallback &callback)=0
static InAppService * create(InAppProvider provider=InAppProvider::AUTO)
virtual void purchaseStarted(InAppService *service, const string &productId)=0
string message
Definition: InAppService.h:106
string localizedPrice
Definition: InAppService.h:31
Definition: InAppService.h:91
string transactionId
Definition: InAppService.h:45
virtual void fetchProducts(const std::vector< string > &productIds, const FetchCallback &callback)=0
virtual bool canPurchase() const =0
virtual void setValidationHandler(const ValidationHandler &handler)=0
string productId
Definition: InAppService.h:49
virtual void addPurchaseObserver(InAppPurchaseObserver *observer)=0
virtual void purchaseFailed(InAppService *service, const string &productId, const InAppService::Error &error)=0
virtual void mapProductIds(const std::map< string, string > &productsMap)=0
std::function< void(const InAppPurchase &purchase, const InAppService::Error &error)> PurchaseCallback
Definition: InAppService.h:137
virtual void restorePurchases(const RestoreCallback &callback)=0
uint64_t purchaseDate
Definition: InAppService.h:53
virtual void purchase(const string &productId, int32_t quantity, const PurchaseCallback &callback)=0
Definition: InAppService.h:323
virtual void purchaseCompleted(InAppService *service, const InAppPurchase &purchase)=0
Definition: InAppService.h:15
Definition: InAppService.h:8