void MiniIAPQtClient::purchaseFlowFinished( int requestId ) { qDebug() << "purchaseFlowFinished"; if (!m_miniIAPReceiver) return; if (m_requestId != requestId) return; m_miniIAPReceiver->purchaseFlowFinished(m_productId.toLatin1().constData()); clearPurchasing(); }
void SymbianClientApiHelper::PurchaseFlowFinished(TInt aRequestId) { RDebug::Printf("SymbianClientApiHelper::PurchaseFlowFinished"); if (!m_miniIAPSymbianClient) return; // @TODO: fix this to "(m_requestId != aRequestId)" comparison when IAP is working ok! if (m_requestId != aRequestId && m_requestId != 0) return; m_miniIAPSymbianClient->PurchaseFlowFinished(m_productIdAsText); clearPurchasing(); }
bool SymbianClientApiHelper::purchaseProduct(const char * productId) { RDebug::Printf("SymbianClientApiHelper::purchaseProduct"); if (!m_miniIAPSymbianClient) return false; if (isPurchaseRunning) return false; if (!m_IAPClient) return false; isPurchaseRunning = ETrue; bool result = false; TText8 *productIdAsText = (TText8 *)productId; TPtr8 ptrTo(m_productIdAsText, KMaxProductIdLength); TPtrC8 ptrFrom(productIdAsText); if (ptrFrom.Size() >= KMaxProductIdLength) { RDebug::Printf("SymbianClientApiHelper::purchaseProduct: too long"); return false; } ptrTo.Zero(); TBuf<KMaxProductIdLength> productIdAsTBuf16; RDebug::Printf("pointerSize: %d %s",ptrTo.Size(), productId); RDebug::RawPrint(productIdAsTBuf16); productIdAsTBuf16.Copy(ptrFrom); ptrTo.Copy(ptrFrom); ptrTo.Append('\0'); m_requestId = m_IAPClient->PurchaseProduct(productIdAsTBuf16, CIAPSymbianClientApi::EForcedAutomaticRestoration); // @TODO: fix this to "(m_requestId >= 0)" comparison when IAP is working ok! if (m_requestId >= 0) { RDebug::Printf("SymbianClientApiHelper::purchaseProduct: started OK, m_requestId == %d",m_requestId); result = true; } else { RDebug::Printf("SymbianClientApiHelper::purchaseProduct: not started OK, m_requestId == %d",m_requestId); clearPurchasing(); result = false; } return result; }
bool MiniIAPQtClient::purchaseProduct(const char *productId) { qDebug() << "MiniIAPQtClient::purchaseProduct >>>"; prepare(); if (!m_miniIAPReceiver) return false; if (isPurchaseRunning) { qDebug() << "already running"; return false; } isPurchaseRunning = true; m_productId = productId; m_requestId = m_IAPClient->purchaseProduct(m_productId, IAPClient::ForcedAutomaticRestoration); bool result = false; if (m_requestId > 0) { qDebug() << "MiniIAPQtClient::purchaseProduct INITIATED" << m_requestId << m_productId; result = true; } else { clearPurchasing(); qDebug() << "MiniIAPQtClient::purchaseProduct FAILED" << m_requestId; } return result; }