Implemented version lists.

This commit is contained in:
Andrew
2013-03-08 13:56:26 -06:00
parent 69040f923b
commit 2d6e785e4e
16 changed files with 955 additions and 28 deletions

View File

@ -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);
// Reloads the version list.
virtual void loadVersionList() = 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;
// Gets the version at the given index.
//! 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.
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