summaryrefslogtreecommitdiff
path: root/src/nexusinterface.h
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-02-09 04:52:44 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:31:20 -0600
commit5a7d0243c69d5194ee1a4d0be05d2bcaec18aeac (patch)
tree649ac46d7eb4f53cae61ec28f8c5adf67ec4035a /src/nexusinterface.h
parentb59c44aaa16fc286159059a2b940c144a577e01a (diff)
Implement bulk update check layer
Diffstat (limited to 'src/nexusinterface.h')
-rw-r--r--src/nexusinterface.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/nexusinterface.h b/src/nexusinterface.h
index 1c283335..06b19947 100644
--- a/src/nexusinterface.h
+++ b/src/nexusinterface.h
@@ -129,6 +129,15 @@ class NexusInterface : public QObject
public:
+ enum UpdatePeriod {
+ NONE,
+ DAY,
+ WEEK,
+ MONTH
+ };
+
+public:
+
~NexusInterface();
static NexusInterface *instance(PluginContainer *pluginContainer);
@@ -202,6 +211,15 @@ public:
int requestModInfo(QString gameName, int modID, QObject *receiver, QVariant userData, const QString &subModule,
MOBase::IPluginGame const *game);
+ int requestUpdateInfo(QString gameName, NexusInterface::UpdatePeriod period, QObject *receiver, QVariant userData,
+ const QString &subModule)
+ {
+ return requestUpdateInfo(gameName, period, receiver, userData, subModule, getGame(gameName));
+ }
+
+ int requestUpdateInfo(QString gameName, NexusInterface::UpdatePeriod period, QObject *receiver, QVariant userData,
+ const QString &subModule, MOBase::IPluginGame const *game);
+
/**
* @brief request nexus descriptions for multiple mods at once
* @param modID id of the mod the caller is interested in
@@ -378,6 +396,7 @@ signals:
void nxmDescriptionAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
void nxmModInfoAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
+ void nxmUpdateInfoAvailable(QString gameName, QVariant userData, QVariant resultData, int requestID);
void nxmUpdatesAvailable(QString gameName, int modID, QVariant userData, QVariant resultData, int requestID);
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);
@@ -415,8 +434,10 @@ private:
TYPE_FILEINFO,
TYPE_DOWNLOADURL,
TYPE_TOGGLEENDORSEMENT,
- TYPE_GETUPDATES
+ TYPE_GETUPDATES,
+ TYPE_CHECKUPDATES
} m_Type;
+ UpdatePeriod m_UpdatePeriod;
QVariant m_UserData;
QTimer *m_Timeout;
QString m_URL;
@@ -430,6 +451,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(UpdatePeriod period, Type type, QVariant userData, const QString &subModule, MOBase::IPluginGame const *game);
private:
static QAtomicInt s_NextID;