Add a move-generator API.
[tagua/yd.git] / src / variantfactory.h
blobea3558478f94ad94bc95812d60e7f373c7817db8
1 /*
2 Copyright (c) 2006 Paolo Capriotti <p.capriotti@gmail.com>
3 (c) 2006 Maurizio Monge <maurizio.monge@kdemail.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 */
12 #ifndef VARIANTFACTORY_H
13 #define VARIANTFACTORY_H
15 #include <QStringList>
16 #include "core/variantloader.h"
18 class Variant;
19 class Repository;
21 class VariantFactory : public IVariantLoader {
22 VariantFactory();
24 public:
25 Variant* create(const QString& name);
27 /**
28 * \return a list of all non-hidden variants.
30 QStringList all() const;
32 /**
33 * \return the singleton IVariantLoader instance
35 static VariantFactory& self();
37 virtual Repository* getRepository(const QString& variant);
40 #endif // VARIANTFACTORY_H