summaryrefslogtreecommitdiff
path: root/src/nexusinterface.h
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-02-11 16:51:47 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:31:21 -0600
commit2b9d2f32fbbc576c9367a24c0347e5870ff20117 (patch)
treef13f20f95dc2dda2dab1cd90a73e957e6ddb3a16 /src/nexusinterface.h
parent5a7d0243c69d5194ee1a4d0be05d2bcaec18aeac (diff)
Endorsement and efficiency updates
* Reduce update timeout to 5 minutes * Introduce bulk endorsement check replacing global mod info check * Fine tune performance of bulk update info query * Thread the update processing to prevent lockups
Diffstat (limited to 'src/nexusinterface.h')
-rw-r--r--src/nexusinterface.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nexusinterface.h b/src/nexusinterface.h
index 06b19947..ac9e466b 100644
--- a/src/nexusinterface.h
+++ b/src/nexusinterface.h
@@ -104,6 +104,7 @@ public slots:
void nxmFilesAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
void nxmFileInfoAvailable(QString gameName, int modID, int fileID, QVariant userData, QVariant resultData, int requestID);
void nxmDownloadURLsAvailable(QString gameName, int modID, int fileID, QVariant userData, QVariant resultData, int requestID);
+ void nxmEndorsementsAvailable(QVariant userData, QVariant resultData, int requestID);
void nxmEndorsementToggled(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
void nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData, int requestID, QNetworkReply::NetworkError error, const QString &errorMessage);
@@ -298,6 +299,10 @@ public:
**/
int requestDownloadURL(QString gameName, int modID, int fileID, QObject *receiver, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
+
+ int requestEndorsementInfo(QObject *receiver, QVariant userData, const QString &subModule);
+
+
/**
* @param gameName the game short name to support multiple game sources
* @brief toggle endorsement state of the mod
@@ -401,6 +406,7 @@ signals:
void nxmFilesAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
void nxmFileInfoAvailable(QString gameName, int modID, int fileID, QVariant userData, QVariant resultData, int requestID);
void nxmDownloadURLsAvailable(QString gameName, int modID, int fileID, QVariant userData, QVariant resultData, int requestID);
+ void nxmEndorsementsAvailable(QVariant userData, QVariant resultData, int requestID);
void nxmEndorsementToggled(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
void nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData, int requestID, QNetworkReply::NetworkError error, const QString &errorString);
void requestsChanged(int queueCount, std::tuple<int,int,int,int> requestsRemaining);
@@ -433,6 +439,7 @@ private:
TYPE_FILES,
TYPE_FILEINFO,
TYPE_DOWNLOADURL,
+ TYPE_ENDORSEMENTS,
TYPE_TOGGLEENDORSEMENT,
TYPE_GETUPDATES,
TYPE_CHECKUPDATES
@@ -451,6 +458,7 @@ private:
NXMRequestInfo(int modID, Type type, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
NXMRequestInfo(int modID, QString modVersion, Type type, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
NXMRequestInfo(int modID, int fileID, Type type, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
+ NXMRequestInfo(Type type, QVariant userData, const QString &subModule);
NXMRequestInfo(UpdatePeriod period, Type type, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
private:
@@ -464,7 +472,6 @@ private:
NexusInterface(PluginContainer *pluginContainer);
void nextRequest();
void requestFinished(std::list<NXMRequestInfo>::iterator iter);
- bool requiresLogin(const NXMRequestInfo &info);
MOBase::IPluginGame *getGame(QString gameName) const;
QString getOldModsURL(QString gameName) const;