diff options
| author | Silarn <jrim@rimpo.org> | 2019-02-09 04:52:44 -0600 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2019-02-18 21:31:20 -0600 |
| commit | 5a7d0243c69d5194ee1a4d0be05d2bcaec18aeac (patch) | |
| tree | 649ac46d7eb4f53cae61ec28f8c5adf67ec4035a /src/nexusinterface.h | |
| parent | b59c44aaa16fc286159059a2b940c144a577e01a (diff) | |
Implement bulk update check layer
Diffstat (limited to 'src/nexusinterface.h')
| -rw-r--r-- | src/nexusinterface.h | 24 |
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; |
