summaryrefslogtreecommitdiff
path: root/src/nexusinterface.h
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-12-23 13:53:56 -0600
committerJeremy Rimpo <jeremy.rimpo@servermonkey.com>2023-09-21 16:46:52 -0500
commit0b6afd6a9a39c60b5420e40189bc0ac60a4766ba (patch)
tree90c750e49a477d13ec6bab6ea74ccddff13156ff /src/nexusinterface.h
parent83f9af3d3e0022b5b1efcc44d0f044c3b24fa034 (diff)
Add new API connection to retrieve game info
Diffstat (limited to 'src/nexusinterface.h')
-rw-r--r--src/nexusinterface.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/nexusinterface.h b/src/nexusinterface.h
index 331ce55d..95e46168 100644
--- a/src/nexusinterface.h
+++ b/src/nexusinterface.h
@@ -113,6 +113,12 @@ public:
virtual void requestToggleTracking(QString gameName, int modID, bool track,
QVariant userData);
+ /**
+ * @brief requestGameInfo
+ * @param userData user data to be returned with the result
+ */
+ virtual void requestGameInfo(QString gameName, QVariant userData);
+
public slots:
void nxmDescriptionAvailable(QString gameName, int modID, QVariant userData,
@@ -129,6 +135,7 @@ public slots:
void nxmTrackedModsAvailable(QVariant userData, QVariant resultData, int requestID);
void nxmTrackingToggled(QString gameName, int modID, QVariant userData, bool tracked,
int requestID);
+ void nxmGameInfoAvailable(QString gameName, QVariant userData, QVariant resultData, int requestID);
void nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData,
int requestID, int errorCode, const QString& errorMessage);
@@ -445,6 +452,34 @@ public:
MOBase::IPluginGame const* game);
/**
+ * @param gameName the game short name to support multiple game sources
+ * @brief toggle tracking state of the mod
+ * @param modID id of the mod
+ * @param track true if the mod should be tracked, false for not tracked
+ * @param receiver the object to receive the result asynchronously via a signal (nxmFilesAvailable)
+ * @param userData user data to be returned with the result
+ * @param game the game with which the mods are associated
+ * @return int an id to identify the request
+ */
+ int requestGameInfo(QString gameName, QObject* receiver, QVariant userData, const QString& subModule)
+ {
+ return requestGameInfo(gameName, receiver, userData, subModule, getGame(gameName));
+ }
+
+ /**
+ * @param gameName the game short name to support multiple game sources
+ * @brief toggle tracking state of the mod
+ * @param modID id of the mod
+ * @param track true if the mod should be tracked, false for not tracked
+ * @param receiver the object to receive the result asynchronously via a signal (nxmFilesAvailable)
+ * @param userData user data to be returned with the result
+ * @param game the game with which the mods are associated
+ * @return int an id to identify the request
+ */
+ int requestGameInfo(QString gameName, QObject* receiver, QVariant userData, const QString& subModule,
+ MOBase::IPluginGame const* game);
+
+ /**
*
*/
int requestInfoFromMd5(QString gameName, QByteArray& hash, QObject* receiver,
@@ -552,6 +587,7 @@ signals:
void nxmTrackedModsAvailable(QVariant userData, QVariant resultData, int requestID);
void nxmTrackingToggled(QString gameName, int modID, QVariant userData, bool tracked,
int requestID);
+ void nxmGameInfoAvailable(QString gameName, QVariant userData, QVariant resultData, int requestID);
void nxmRequestFailed(QString gameName, int modID, int fileID, QVariant userData,
int requestID, int errorCode, const QString& errorString);
void requestsChanged(const APIStats& stats, const APIUserAccount& user);
@@ -592,6 +628,7 @@ private:
TYPE_TOGGLETRACKING,
TYPE_TRACKEDMODS,
TYPE_FILEINFO_MD5,
+ TYPE_GAMEINFO,
} m_Type;
UpdatePeriod m_UpdatePeriod;
QVariant m_UserData;
@@ -614,6 +651,7 @@ private:
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, 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);