A?adida la informaci?n de descarga de folders y c?mcs

A?adidos los atributos necesarios a la sesi?n relacionados con YACReader
This commit is contained in:
Luis Ángel San Martín
2012-09-06 22:41:00 +02:00
parent 12e697bc0f
commit 6373649672
10 changed files with 193 additions and 12 deletions

View File

@ -7,6 +7,7 @@
#include <QDateTime>
#include <QUuid>
#include "comic.h"
HttpSession::HttpSession(bool canStore) {
if (canStore) {
@ -156,3 +157,70 @@ void HttpSession::setLastAccess() {
dataPtr->lock.unlock();
}
}
//A<>ADIDO
bool HttpSession::isComicOnDevice(const QString & hash)
{
if(dataPtr)
return dataPtr->yacreaderSessionData.downloadedComics.contains(hash);
else
return false;
}
bool HttpSession::isComicDownloaded(const QString & hash)
{
if(dataPtr)
return dataPtr->yacreaderSessionData.downloadedComics.contains(hash);
else
return false;
}
qulonglong HttpSession::getCurrentComicId()
{
if(dataPtr)
return dataPtr->yacreaderSessionData.comicId ;
else
return 0;
}
Comic * HttpSession::getCurrentComic()
{
if(dataPtr)
{
return dataPtr->yacreaderSessionData.comic ;
}
else
return 0;
}
void HttpSession::dismissCurrentComic()
{
if(dataPtr)
{
if(dataPtr->yacreaderSessionData.comic != 0)
{
delete dataPtr->yacreaderSessionData.comic;
}
dataPtr->yacreaderSessionData.comicId = 0;
}
}
void HttpSession::setComicsOnDevice(const QSet<QString> & set)
{
if(dataPtr)
{
dataPtr->yacreaderSessionData.comicsOnDevice = set;
}
}
void HttpSession::setDownloadedComic(const QString & hash)
{
if(dataPtr)
{
dataPtr->yacreaderSessionData.downloadedComics.insert(hash);
}
}
void HttpSession::setCurrentComic(qulonglong id, Comic * comic)
{
if(dataPtr)
{
dataPtr->yacreaderSessionData.comicId = id;
dataPtr->yacreaderSessionData.comic = comic;
}
}

View File

@ -10,7 +10,9 @@
#include <QVariant>
#include <QReadWriteLock>
#include <QSet>
#include <QString>
class Comic;
/**
This class stores data for a single HTTP session.
A session can store any number of key/value pairs. This class uses implicit
@ -89,8 +91,29 @@ public:
*/
void setLastAccess();
//A<>ADIDO
bool isComicOnDevice(const QString & hash);
bool isComicDownloaded(const QString & hash);
qulonglong getCurrentComicId();
Comic * getCurrentComic();
void dismissCurrentComic();
void setComicsOnDevice(const QSet<QString> & set);
void setDownloadedComic(const QString & hash);
void setCurrentComic(qulonglong id, Comic * comic);
private:
struct YACReaderSessionData {
//c<>mics disponibles en dispositivo
QSet<QString> comicsOnDevice;
//c<>mics que han sido descargados o est<73>n siendo descargados en esta sesi<73>n
QSet<QString> downloadedComics;
//c<>mic actual que est<73> siendo descargado
qulonglong comicId;
Comic * comic;
};
struct HttpSessionData {
/** Unique ID */
@ -108,6 +131,8 @@ private:
/** Storage for the key/value pairs; */
QMap<QByteArray,QVariant> values;
YACReaderSessionData yacreaderSessionData;
};
/** Pointer to the shared data. */