summaryrefslogtreecommitdiffstats
path: root/libmultimc/include/instversionlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'libmultimc/include/instversionlist.h')
-rw-r--r--libmultimc/include/instversionlist.h37
1 files changed, 28 insertions, 9 deletions
diff --git a/libmultimc/include/instversionlist.h b/libmultimc/include/instversionlist.h
index d64a286f..4345aaaa 100644
--- a/libmultimc/include/instversionlist.h
+++ b/libmultimc/include/instversionlist.h
@@ -21,25 +21,44 @@
#include "libmmc_config.h"
class InstVersion;
+class Task;
-// Class that each instance type's version list derives from. Version lists are
-// the lists that keep track of the available game versions for that instance.
-// This list will not be loaded on startup. It will be loaded when the list's
-// load function is called.
+/*!
+ * \brief Class that each instance type's version list derives from.
+ * Version lists are the lists that keep track of the available game versions
+ * for that instance. This list will not be loaded on startup. It will be loaded
+ * when the list's load function is called. Before using the version list, you
+ * should check to see if it has been loaded yet and if not, load the list.
+ */
class LIBMULTIMC_EXPORT InstVersionList : public QObject
{
Q_OBJECT
public:
- explicit InstVersionList();
+ explicit InstVersionList(QObject *parent = 0);
+
+ /*!
+ * \brief Gets a task that will reload the version list.
+ * Simply execute the task to load the list.
+ * \return A pointer to a task that reloads the version list.
+ */
+ virtual Task *getLoadTask() = 0;
- // Reloads the version list.
- virtual void loadVersionList() = 0;
+ //! Checks whether or not the list is loaded. If this returns false, the list should be loaded.
+ virtual bool isLoaded() = 0;
- // Gets the version at the given index.
+ //! Gets the version at the given index.
virtual const InstVersion *at(int i) const = 0;
- // Returns the number of versions in the list.
+ //! Returns the number of versions in the list.
virtual int count() const = 0;
+
+ /*!
+ * \brief Finds a version by its descriptor.
+ * \param The descriptor of the version to find.
+ * \return A const pointer to the version with the given descriptor. NULL if
+ * one doesn't exist.
+ */
+ virtual const InstVersion *findVersion(const QString &descriptor);
};
#endif // INSTVERSIONLIST_H