servatrice/cockatrice/src/priceupdater.h
Fabio Bas 06def7f46a Ensure all card prices are retrieved correctly
Query card database to get a multiverseis for a card.
Get card price using that id instead of card name.
Tested Aether, split cards, question elemental?, _____
2014-07-02 21:42:29 +02:00

55 lines
1.1 KiB
C++

#ifndef PRICEUPDATER_H
#define PRICEUPDATER_H
#include <QNetworkReply>
#include "decklist.h"
class QNetworkAccessManager;
// If we don't typedef this, won't compile on OS X < 10.9
typedef QMap<int, QString> MuidStringMap;
/**
* Price Updater.
*
* @author Marcio Ribeiro <mmr@b1n.org>
*/
class AbstractPriceUpdater : public QWidget
{
Q_OBJECT
public:
enum PriceSource { BLPPriceSource, DBPriceSource };
protected:
const DeckList *deck;
QNetworkAccessManager *nam;
signals:
void finishedUpdate();
protected slots:
virtual void downloadFinished() = 0;
public:
AbstractPriceUpdater(const DeckList *deck);
virtual void updatePrices() = 0;
};
class BLPPriceUpdater : public AbstractPriceUpdater
{
Q_OBJECT
protected:
virtual void downloadFinished();
public:
BLPPriceUpdater(const DeckList *deck);
virtual void updatePrices();
};
class DBPriceUpdater : public AbstractPriceUpdater
{
Q_OBJECT
protected:
MuidStringMap muidMap;
protected:
virtual void downloadFinished();
public:
DBPriceUpdater(const DeckList *deck);
virtual void updatePrices();
};
#endif