@@ -18,9 +18,12 @@
18 * Authored by: Diego Sarmentero <diego.sarmentero@canonical.com>
18 * Authored by: Diego Sarmentero <diego.sarmentero@canonical.com>
21#include <QLocale>
22#include <QLocale>
22#include <QTimer>
23#include <QTimer>
25+#include <libpay/pay-package.h>
24#include "Payments.h"
27#include "Payments.h"
26Payments::Payments(QObject *parent)
29Payments::Payments(QObject *parent)
@@ -75,10 +78,41 @@ void Payments::setStoreItemId(const QString &store_item_id)
81+void observer(PayPackage* package, const char* /*itemid*/, PayPackageItemStatus status, void* user_data) {
82+ qDebug() << "observer called";
83+ Payments *self = static_cast<Payments*>(user_data);
84+ pay_package_item_observer_uninstall(package, observer, self);
86+ case PAY_PACKAGE_ITEM_STATUS_VERIFYING:
88+ case PAY_PACKAGE_ITEM_STATUS_PURCHASED:
91+ case PAY_PACKAGE_ITEM_STATUS_PURCHASING:
93+ case PAY_PACKAGE_ITEM_STATUS_NOT_PURCHASED:
94+ self->error("not purchased");
96+ case PAY_PACKAGE_ITEM_STATUS_UNKNOWN:
78void Payments::start()
104void Payments::start()
80 qDebug("starting the purchase");
106 qDebug("starting the purchase");
81− // start the purchase here, raise finished(), error or canceled when done
107+
82− QTimer::singleShot(3000, this, SIGNAL(finished()));
108+ auto ba = m_store_item_id.toLocal8Bit();
83− // FIXME ^^^^
109+ qDebug() << "the item id is" << m_store_item_id;
110+ auto package = pay_package_new("clickscope");
111+ qDebug() << "after new" << ba.data();
112+ pay_package_item_observer_install(package, observer, this);
113+ qDebug() << "after observer install";
114+ //pay_package_item_start_verification(package, ba.data());
115+ qDebug() << "after start verify";
116+ pay_package_item_start_purchase(package, ba.data());
117+ qDebug() << "after start purchase";