diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2015-08-05 02:11:20 -0700 |
---|---|---|
committer | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-08-11 13:00:13 +0000 |
commit | 7810fd6bf0c5a749e1ab59c6805217afdb48a722 (patch) | |
tree | 0d9c5ab075a258ffd6dbf8cb82063f43d55bd56e | |
parent | e30df2ce13e7d1ec6add8bb0ea4f96217246ec3e (diff) |
Adapt iOS backend to work on OS X as well.
Change-Id: Ieec9c7d02225697bfaeaaa3ca1a87fbcf77327ea
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
14 files changed, 119 insertions, 101 deletions
diff --git a/examples/purchasing/qthangman/qthangman.pro b/examples/purchasing/qthangman/qthangman.pro index d1bea15..96b87e9 100644 --- a/examples/purchasing/qthangman/qthangman.pro +++ b/examples/purchasing/qthangman/qthangman.pro @@ -31,9 +31,9 @@ OTHER_FILES += \ qml/qthangman/Word.qml \ enable2.txt -ios { +mac { #Change the following lines to match your unique App ID - #to enable in-app purchases on iOS + #to enable in-app purchases on OS X and iOS #For example if your App ID is org.qtproject.qt.iosteam.qthangman" #QMAKE_TARGET_BUNDLE_PREFIX = "org.qtproject.qt.iosteam" #TARGET = qthangman diff --git a/src/purchasing/doc/src/qtpurchasing-overview.qdoc b/src/purchasing/doc/src/qtpurchasing-overview.qdoc index e72ba7e..71760d5 100644 --- a/src/purchasing/doc/src/qtpurchasing-overview.qdoc +++ b/src/purchasing/doc/src/qtpurchasing-overview.qdoc @@ -32,7 +32,7 @@ Qt Purchasing is an add-on library that enables Qt applications to support in-app purchases. It is a cross-platform library that currently supports - purchases made to the App Store on iOS, and Google Play on Android. + purchases made to the Mac App Store on OS X, App Store on iOS, and Google Play on Android. \section1 In-App Purchases diff --git a/src/purchasing/inapppurchase/inapppurchase.pri b/src/purchasing/inapppurchase/inapppurchase.pri index 2f2acc3..85bab80 100644 --- a/src/purchasing/inapppurchase/inapppurchase.pri +++ b/src/purchasing/inapppurchase/inapppurchase.pri @@ -23,6 +23,6 @@ android { include ($$PWD/android/android.pri) } -ios { - include ($$PWD/ios/ios.pri) +mac { + include ($$PWD/mac/mac.pri) } diff --git a/src/purchasing/inapppurchase/ios/ios.pri b/src/purchasing/inapppurchase/ios/ios.pri deleted file mode 100644 index b0b1b55..0000000 --- a/src/purchasing/inapppurchase/ios/ios.pri +++ /dev/null @@ -1,11 +0,0 @@ -LIBS += -framework StoreKit -framework Foundation -INCLUDEPATH += $$PWD -HEADERS += \ - inapppurchase/ios/qiosinapppurchaseproduct_p.h \ - inapppurchase/ios/qiosinapppurchasebackend_p.h \ - inapppurchase/ios/qiosinapppurchasetransaction_p.h - -OBJECTIVE_SOURCES += \ - inapppurchase/ios/qiosinapppurchasebackend.mm \ - inapppurchase/ios/qiosinapppurchaseproduct.mm \ - inapppurchase/ios/qiosinapppurchasetransaction.mm diff --git a/src/purchasing/inapppurchase/mac/mac.pri b/src/purchasing/inapppurchase/mac/mac.pri new file mode 100644 index 0000000..10672eb --- /dev/null +++ b/src/purchasing/inapppurchase/mac/mac.pri @@ -0,0 +1,11 @@ +LIBS += -framework StoreKit -framework Foundation +INCLUDEPATH += $$PWD +HEADERS += \ + $$PWD/qmacinapppurchasebackend_p.h \ + $$PWD/qmacinapppurchasetransaction_p.h \ + $$PWD/qmacinapppurchaseproduct_p.h + +OBJECTIVE_SOURCES += \ + $$PWD/qmacinapppurchasebackend.mm \ + $$PWD/qmacinapppurchaseproduct.mm \ + $$PWD/qmacinapppurchasetransaction.mm diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchasebackend.mm b/src/purchasing/inapppurchase/mac/qmacinapppurchasebackend.mm index 92f3bb0..a820211 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchasebackend.mm +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchasebackend.mm @@ -26,17 +26,17 @@ ** ****************************************************************************/ -#include "qiosinapppurchasebackend_p.h" -#include "qiosinapppurchaseproduct_p.h" -#include "qiosinapppurchasetransaction_p.h" +#include "qmacinapppurchasebackend_p.h" +#include "qmacinapppurchaseproduct_p.h" +#include "qmacinapppurchasetransaction_p.h" #include <QtCore/QString> #import <StoreKit/StoreKit.h> -@interface InAppPurchaseManager : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver> +@interface QT_MANGLE_NAMESPACE(InAppPurchaseManager) : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver> { - QIosInAppPurchaseBackend *backend; + QMacInAppPurchaseBackend *backend; NSMutableArray *pendingTransactions; } @@ -45,13 +45,15 @@ @end -@implementation InAppPurchaseManager +@implementation QT_MANGLE_NAMESPACE(InAppPurchaseManager) --(id)initWithBackend:(QIosInAppPurchaseBackend *)iapBackend { +-(id)initWithBackend:(QMacInAppPurchaseBackend *)iapBackend { if (self = [super init]) { backend = iapBackend; pendingTransactions = [[NSMutableArray alloc] init]; [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; + qRegisterMetaType<QMacInAppPurchaseProduct*>("QMacInAppPurchaseProduct*"); + qRegisterMetaType<QMacInAppPurchaseTransaction*>("QMacInAppPurchaseTransaction*"); } return self; } @@ -78,13 +80,17 @@ for (SKPaymentTransaction *transaction in pendingTransactions) { QInAppTransaction::TransactionStatus status = [InAppPurchaseManager statusFromTransaction:transaction]; - QIosInAppPurchaseProduct *product = backend->registeredProductForProductId(QString::fromNSString(transaction.payment.productIdentifier)); + QMacInAppPurchaseProduct *product = backend->registeredProductForProductId(QString::fromNSString(transaction.payment.productIdentifier)); if (product) { //It is possible that the product doesn't exist yet (because of previous restores). - QIosInAppPurchaseTransaction *qtTransaction = new QIosInAppPurchaseTransaction(transaction, status, product, backend); + QMacInAppPurchaseTransaction *qtTransaction = new QMacInAppPurchaseTransaction(transaction, status, product); + if (qtTransaction->thread() != backend->thread()) { + qtTransaction->moveToThread(backend->thread()); + qtTransaction->setParent(backend); + } [registeredTransactions addObject:transaction]; - QMetaObject::invokeMethod(backend, "registerTransaction", Qt::AutoConnection, Q_ARG(QIosInAppPurchaseTransaction*, qtTransaction)); + QMetaObject::invokeMethod(backend, "registerTransaction", Qt::AutoConnection, Q_ARG(QMacInAppPurchaseTransaction*, qtTransaction)); } } @@ -105,9 +111,13 @@ QMetaObject::invokeMethod(backend, "registerQueryFailure", Qt::AutoConnection, Q_ARG(QString, QString::fromNSString(invalidId))); } else { //Valid product query - //Create a QIosInAppPurchaseProduct - QIosInAppPurchaseProduct *validProduct = new QIosInAppPurchaseProduct(product, backend->productTypeForProductId(QString::fromNSString([product productIdentifier])), backend); - QMetaObject::invokeMethod(backend, "registerProduct", Qt::AutoConnection, Q_ARG(QIosInAppPurchaseProduct*, validProduct)); + //Create a QMacInAppPurchaseProduct + QMacInAppPurchaseProduct *validProduct = new QMacInAppPurchaseProduct(product, backend->productTypeForProductId(QString::fromNSString([product productIdentifier]))); + if (validProduct->thread() != backend->thread()) { + validProduct->moveToThread(backend->thread()); + validProduct->setParent(backend); + } + QMetaObject::invokeMethod(backend, "registerProduct", Qt::AutoConnection, Q_ARG(QMacInAppPurchaseProduct*, validProduct)); } [request release]; @@ -145,18 +155,22 @@ { Q_UNUSED(queue); for (SKPaymentTransaction *transaction in transactions) { - //Create QIosInAppPurchaseTransaction + //Create QMacInAppPurchaseTransaction QInAppTransaction::TransactionStatus status = [InAppPurchaseManager statusFromTransaction:transaction]; if (status == QInAppTransaction::Unknown) continue; - QIosInAppPurchaseProduct *product = backend->registeredProductForProductId(QString::fromNSString(transaction.payment.productIdentifier)); + QMacInAppPurchaseProduct *product = backend->registeredProductForProductId(QString::fromNSString(transaction.payment.productIdentifier)); if (product) { //It is possible that the product doesn't exist yet (because of previous restores). - QIosInAppPurchaseTransaction *qtTransaction = new QIosInAppPurchaseTransaction(transaction, status, product, backend); - QMetaObject::invokeMethod(backend, "registerTransaction", Qt::AutoConnection, Q_ARG(QIosInAppPurchaseTransaction*, qtTransaction)); + QMacInAppPurchaseTransaction *qtTransaction = new QMacInAppPurchaseTransaction(transaction, status, product); + if (qtTransaction->thread() != backend->thread()) { + qtTransaction->moveToThread(backend->thread()); + qtTransaction->setParent(backend); + } + QMetaObject::invokeMethod(backend, "registerTransaction", Qt::AutoConnection, Q_ARG(QMacInAppPurchaseTransaction*, qtTransaction)); } else { //Add the transaction to the pending transactions list [pendingTransactions addObject:transaction]; @@ -169,31 +183,31 @@ QT_BEGIN_NAMESPACE -QIosInAppPurchaseBackend::QIosInAppPurchaseBackend(QObject *parent) +QMacInAppPurchaseBackend::QMacInAppPurchaseBackend(QObject *parent) : QInAppPurchaseBackend(parent) , m_iapManager(0) { } -QIosInAppPurchaseBackend::~QIosInAppPurchaseBackend() +QMacInAppPurchaseBackend::~QMacInAppPurchaseBackend() { - [(InAppPurchaseManager*)m_iapManager release]; + [m_iapManager release]; } -void QIosInAppPurchaseBackend::initialize() +void QMacInAppPurchaseBackend::initialize() { m_iapManager = [[InAppPurchaseManager alloc] initWithBackend:this]; emit QInAppPurchaseBackend::ready(); } -bool QIosInAppPurchaseBackend::isReady() const +bool QMacInAppPurchaseBackend::isReady() const { if (m_iapManager) return true; return false; } -void QIosInAppPurchaseBackend::queryProduct(QInAppProduct::ProductType productType, const QString &identifier) +void QMacInAppPurchaseBackend::queryProduct(QInAppProduct::ProductType productType, const QString &identifier) { Q_UNUSED(productType) @@ -204,21 +218,21 @@ void QIosInAppPurchaseBackend::queryProduct(QInAppProduct::ProductType productTy m_productTypeForPendingId[identifier] = productType; - [(InAppPurchaseManager*)m_iapManager requestProductData:(identifier.toNSString())]; + [m_iapManager requestProductData:(identifier.toNSString())]; } -void QIosInAppPurchaseBackend::restorePurchases() +void QMacInAppPurchaseBackend::restorePurchases() { [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } -void QIosInAppPurchaseBackend::setPlatformProperty(const QString &propertyName, const QString &value) +void QMacInAppPurchaseBackend::setPlatformProperty(const QString &propertyName, const QString &value) { Q_UNUSED(propertyName); Q_UNUSED(value); } -void QIosInAppPurchaseBackend::registerProduct(QIosInAppPurchaseProduct *product) +void QMacInAppPurchaseBackend::registerProduct(QMacInAppPurchaseProduct *product) { QHash<QString, QInAppProduct::ProductType>::iterator it = m_productTypeForPendingId.find(product->identifier()); Q_ASSERT(it != m_productTypeForPendingId.end()); @@ -229,7 +243,7 @@ void QIosInAppPurchaseBackend::registerProduct(QIosInAppPurchaseProduct *product [m_iapManager processPendingTransactions]; } -void QIosInAppPurchaseBackend::registerQueryFailure(const QString &productId) +void QMacInAppPurchaseBackend::registerQueryFailure(const QString &productId) { QHash<QString, QInAppProduct::ProductType>::iterator it = m_productTypeForPendingId.find(productId); Q_ASSERT(it != m_productTypeForPendingId.end()); @@ -238,21 +252,21 @@ void QIosInAppPurchaseBackend::registerQueryFailure(const QString &productId) m_productTypeForPendingId.erase(it); } -void QIosInAppPurchaseBackend::registerTransaction(QIosInAppPurchaseTransaction *transaction) +void QMacInAppPurchaseBackend::registerTransaction(QMacInAppPurchaseTransaction *transaction) { emit QInAppPurchaseBackend::transactionReady(transaction); } -QInAppProduct::ProductType QIosInAppPurchaseBackend::productTypeForProductId(const QString &productId) +QInAppProduct::ProductType QMacInAppPurchaseBackend::productTypeForProductId(const QString &productId) { return m_productTypeForPendingId[productId]; } -QIosInAppPurchaseProduct *QIosInAppPurchaseBackend::registeredProductForProductId(const QString &productId) +QMacInAppPurchaseProduct *QMacInAppPurchaseBackend::registeredProductForProductId(const QString &productId) { return m_registeredProductForId[productId]; } QT_END_NAMESPACE -#include "moc_qiosinapppurchasebackend_p.cpp" +#include "moc_qmacinapppurchasebackend_p.cpp" diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchasebackend_p.h b/src/purchasing/inapppurchase/mac/qmacinapppurchasebackend_p.h index 83febbe..474b35a 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchasebackend_p.h +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchasebackend_p.h @@ -26,8 +26,8 @@ ** ****************************************************************************/ -#ifndef QIOSINAPPPURCHASEBACKEND_P_H -#define QIOSINAPPPURCHASEBACKEND_P_H +#ifndef QMACINAPPPURCHASEBACKEND_P_H +#define QMACINAPPPURCHASEBACKEND_P_H // // W A R N I N G @@ -46,17 +46,19 @@ #include <QtCore/QHash> +Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(InAppPurchaseManager)); + QT_BEGIN_NAMESPACE -class QIosInAppPurchaseProduct; -class QIosInAppPurchaseTransaction; +class QMacInAppPurchaseProduct; +class QMacInAppPurchaseTransaction; -class QIosInAppPurchaseBackend : public QInAppPurchaseBackend +class QMacInAppPurchaseBackend : public QInAppPurchaseBackend { Q_OBJECT public: - QIosInAppPurchaseBackend(QObject *parent = 0); - ~QIosInAppPurchaseBackend(); + QMacInAppPurchaseBackend(QObject *parent = 0); + ~QMacInAppPurchaseBackend(); void initialize(); bool isReady() const; @@ -65,18 +67,18 @@ public: void setPlatformProperty(const QString &propertyName, const QString &value); //Called by InAppPurchaseManager - Q_INVOKABLE void registerProduct(QIosInAppPurchaseProduct *product); + Q_INVOKABLE void registerProduct(QMacInAppPurchaseProduct *product); Q_INVOKABLE void registerQueryFailure(const QString &productId); - Q_INVOKABLE void registerTransaction(QIosInAppPurchaseTransaction *transaction); + Q_INVOKABLE void registerTransaction(QMacInAppPurchaseTransaction *transaction); QInAppProduct::ProductType productTypeForProductId(const QString &productId); - QIosInAppPurchaseProduct *registeredProductForProductId(const QString &productId); + QMacInAppPurchaseProduct *registeredProductForProductId(const QString &productId); private: - void *m_iapManager; + QT_MANGLE_NAMESPACE(InAppPurchaseManager) *m_iapManager; QHash<QString, QInAppProduct::ProductType> m_productTypeForPendingId; - QHash<QString, QIosInAppPurchaseProduct*> m_registeredProductForId; + QHash<QString, QMacInAppPurchaseProduct*> m_registeredProductForId; }; -#endif // QIOSINAPPPURCHASEBACKEND_P_H +#endif // QMACINAPPPURCHASEBACKEND_P_H QT_END_NAMESPACE diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchaseproduct.mm b/src/purchasing/inapppurchase/mac/qmacinapppurchaseproduct.mm index 903e5f5..170305d 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchaseproduct.mm +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchaseproduct.mm @@ -26,19 +26,19 @@ ** ****************************************************************************/ -#include "qiosinapppurchaseproduct_p.h" -#include "qiosinapppurchasebackend_p.h" +#include "qmacinapppurchaseproduct_p.h" +#include "qmacinapppurchasebackend_p.h" #import <StoreKit/StoreKit.h> //Use a Catagory to add a localizedPrice method to SKProduct -@interface SKProduct (LocalizedPrice) +@interface SKProduct (QT_MANGLE_NAMESPACE(LocalizedPrice)) @property (nonatomic, readonly) NSString *localizedPrice; @end -@implementation SKProduct (LocalizedPrice) +@implementation SKProduct (QT_MANGLE_NAMESPACE(LocalizedPrice)) - (NSString *)localizedPrice { @@ -55,9 +55,9 @@ QT_BEGIN_NAMESPACE -QIosInAppPurchaseProduct::QIosInAppPurchaseProduct(SKProduct *product, +QMacInAppPurchaseProduct::QMacInAppPurchaseProduct(SKProduct *product, ProductType productType, - QIosInAppPurchaseBackend *backend) + QMacInAppPurchaseBackend *backend) : QInAppProduct(QString::fromNSString([product localizedPrice]), QString::fromNSString([product localizedTitle]), QString::fromNSString([product localizedDescription]), @@ -68,7 +68,7 @@ QIosInAppPurchaseProduct::QIosInAppPurchaseProduct(SKProduct *product, { } -void QIosInAppPurchaseProduct::purchase() +void QMacInAppPurchaseProduct::purchase() { SKPayment *payment = [SKPayment paymentWithProduct:m_nativeProduct]; [[SKPaymentQueue defaultQueue] addPayment:payment]; @@ -76,4 +76,4 @@ void QIosInAppPurchaseProduct::purchase() QT_END_NAMESPACE -#include "moc_qiosinapppurchaseproduct_p.cpp" +#include "moc_qmacinapppurchaseproduct_p.cpp" diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchaseproduct_p.h b/src/purchasing/inapppurchase/mac/qmacinapppurchaseproduct_p.h index ff51f87..3d838f0 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchaseproduct_p.h +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchaseproduct_p.h @@ -26,8 +26,8 @@ ** ****************************************************************************/ -#ifndef QIOSINAPPPURCHASEPRODUCT_P_H -#define QIOSINAPPPURCHASEPRODUCT_P_H +#ifndef QMACINAPPPURCHASEPRODUCT_P_H +#define QMACINAPPPURCHASEPRODUCT_P_H // // W A R N I N G @@ -46,23 +46,23 @@ QT_BEGIN_NAMESPACE -class QIosInAppPurchaseBackend; +class QMacInAppPurchaseBackend; -class QIosInAppPurchaseProduct : public QInAppProduct +class QMacInAppPurchaseProduct : public QInAppProduct { Q_OBJECT public: - explicit QIosInAppPurchaseProduct(SKProduct *product, + explicit QMacInAppPurchaseProduct(SKProduct *product, ProductType productType, - QIosInAppPurchaseBackend *backend); + QMacInAppPurchaseBackend *backend = 0); void purchase(); private: SKProduct *m_nativeProduct; }; -Q_DECLARE_METATYPE(QIosInAppPurchaseProduct*); +Q_DECLARE_METATYPE(QMacInAppPurchaseProduct*) QT_END_NAMESPACE -#endif // QIOSINAPPPURCHASEPRODUCT_P_H +#endif // QMACINAPPPURCHASEPRODUCT_P_H diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchasetransaction.mm b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm index fccb74c..04b7fee 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchasetransaction.mm +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm @@ -26,17 +26,17 @@ ** ****************************************************************************/ -#include "qiosinapppurchasetransaction_p.h" -#include "qiosinapppurchasebackend_p.h" +#include "qmacinapppurchasetransaction_p.h" +#include "qmacinapppurchasebackend_p.h" #import <StoreKit/StoreKit.h> QT_BEGIN_NAMESPACE -QIosInAppPurchaseTransaction::QIosInAppPurchaseTransaction(SKPaymentTransaction *transaction, +QMacInAppPurchaseTransaction::QMacInAppPurchaseTransaction(SKPaymentTransaction *transaction, const TransactionStatus status, QInAppProduct *product, - QIosInAppPurchaseBackend *backend) + QMacInAppPurchaseBackend *backend) : QInAppTransaction(status, product, backend) , m_nativeTransaction(transaction) , m_failureReason(NoFailure) @@ -57,9 +57,11 @@ QIosInAppPurchaseTransaction::QIosInAppPurchaseTransaction(SKPaymentTransaction case SKErrorPaymentNotAllowed: m_errorString = QStringLiteral("Payment Not Allowed"); break; +#ifdef Q_OS_IOS case SKErrorStoreProductNotAvailable: m_errorString = QStringLiteral("Store Product Not Available"); break; +#endif case SKErrorUnknown: default: m_errorString = QStringLiteral("Unknown"); @@ -67,27 +69,27 @@ QIosInAppPurchaseTransaction::QIosInAppPurchaseTransaction(SKPaymentTransaction } } -void QIosInAppPurchaseTransaction::finalize() +void QMacInAppPurchaseTransaction::finalize() { [[SKPaymentQueue defaultQueue] finishTransaction:m_nativeTransaction]; } -QString QIosInAppPurchaseTransaction::orderId() const +QString QMacInAppPurchaseTransaction::orderId() const { return QString::fromNSString(m_nativeTransaction.transactionIdentifier); } -QInAppTransaction::FailureReason QIosInAppPurchaseTransaction::failureReason() const +QInAppTransaction::FailureReason QMacInAppPurchaseTransaction::failureReason() const { return m_failureReason; } -QString QIosInAppPurchaseTransaction::errorString() const +QString QMacInAppPurchaseTransaction::errorString() const { return m_errorString; } -QDateTime QIosInAppPurchaseTransaction::timestamp() const +QDateTime QMacInAppPurchaseTransaction::timestamp() const { //Get time in seconds since 1970 double timeInterval = [[m_nativeTransaction transactionDate] timeIntervalSince1970]; @@ -96,4 +98,4 @@ QDateTime QIosInAppPurchaseTransaction::timestamp() const QT_END_NAMESPACE -#include "moc_qiosinapppurchasetransaction_p.cpp" +#include "moc_qmacinapppurchasetransaction_p.cpp" diff --git a/src/purchasing/inapppurchase/ios/qiosinapppurchasetransaction_p.h b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction_p.h index fe9d4df..6e905e9 100644 --- a/src/purchasing/inapppurchase/ios/qiosinapppurchasetransaction_p.h +++ b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction_p.h @@ -26,8 +26,8 @@ ** ****************************************************************************/ -#ifndef QIOSINAPPTRANSACTION_P_H -#define QIOSINAPPTRANSACTION_P_H +#ifndef QMACINAPPTRANSACTION_P_H +#define QMACINAPPTRANSACTION_P_H // // W A R N I N G @@ -47,16 +47,16 @@ QT_BEGIN_NAMESPACE -class QIosInAppPurchaseBackend; +class QMacInAppPurchaseBackend; -class QIosInAppPurchaseTransaction : public QInAppTransaction +class QMacInAppPurchaseTransaction : public QInAppTransaction { Q_OBJECT public: - QIosInAppPurchaseTransaction(SKPaymentTransaction *transaction, + QMacInAppPurchaseTransaction(SKPaymentTransaction *transaction, const TransactionStatus status, QInAppProduct *product, - QIosInAppPurchaseBackend *backend); + QMacInAppPurchaseBackend *backend = 0); void finalize(); QString orderId() const; @@ -70,8 +70,8 @@ private: FailureReason m_failureReason; }; -Q_DECLARE_METATYPE(QIosInAppPurchaseTransaction*); +Q_DECLARE_METATYPE(QMacInAppPurchaseTransaction*) QT_END_NAMESPACE -#endif // QIOSINAPPTRANSACTION_P_H +#endif // QMACINAPPTRANSACTION_P_H diff --git a/src/purchasing/inapppurchase/qinapppurchasebackendfactory.cpp b/src/purchasing/inapppurchase/qinapppurchasebackendfactory.cpp index be2ad60..757b78a 100644 --- a/src/purchasing/inapppurchase/qinapppurchasebackendfactory.cpp +++ b/src/purchasing/inapppurchase/qinapppurchasebackendfactory.cpp @@ -30,8 +30,8 @@ #if defined(Q_OS_ANDROID) # include "qandroidinapppurchasebackend_p.h" -#elif defined(Q_OS_IOS) -# include "qiosinapppurchasebackend_p.h" +#elif defined(Q_OS_MAC) +# include "qmacinapppurchasebackend_p.h" #else # include "qinapppurchasebackend_p.h" #endif @@ -42,8 +42,8 @@ QInAppPurchaseBackend *QInAppPurchaseBackendFactory::create() { #if defined(Q_OS_ANDROID) return new QAndroidInAppPurchaseBackend; -#elif defined (Q_OS_IOS) - return new QIosInAppPurchaseBackend; +#elif defined (Q_OS_MAC) + return new QMacInAppPurchaseBackend; #else return new QInAppPurchaseBackend; #endif diff --git a/src/purchasing/inapppurchase/qinappstore.cpp b/src/purchasing/inapppurchase/qinappstore.cpp index 3ee797e..36ae021 100644 --- a/src/purchasing/inapppurchase/qinappstore.cpp +++ b/src/purchasing/inapppurchase/qinappstore.cpp @@ -136,7 +136,7 @@ QT_BEGIN_NAMESPACE \note This depends on support for this functionality in the remote store. If the remote store does not save the purchase state of unlockable products for you, the call will yield no transactionReady() signals, as if no products have - been purchased. Both the Android and iOS backends support restoring unlockable + been purchased. Both the Android and OS X / iOS backends support restoring unlockable products. */ diff --git a/tests/auto/purchasing/qinappstore/tst_qinappstore.cpp b/tests/auto/purchasing/qinappstore/tst_qinappstore.cpp index e0398ad..d2efd0d 100644 --- a/tests/auto/purchasing/qinappstore/tst_qinappstore.cpp +++ b/tests/auto/purchasing/qinappstore/tst_qinappstore.cpp @@ -73,7 +73,7 @@ void tst_QInAppStore::registerUnknownProduct() store.registerProduct(QInAppProduct::Consumable, QStringLiteral("unknownConsumable")); store.registerProduct(QInAppProduct::Unlockable, QStringLiteral("unknownUnlockable")); -#if !defined(Q_OS_IOS) && !defined(Q_OS_ANDROID) +#if !defined(Q_OS_MAC) && !defined(Q_OS_ANDROID) QEXPECT_FAIL("", "Qt Purchasing not implemented on this platform.", Abort); #endif |